用 travis-ci 測試 Laravel 應用程式

前言

雖然寫測試是件麻煩事,但是為了未來著想,最好要為所有自己開發的應用程式進行測試。

在公司開發,可能會使用 Jenkins 之類的工具自建 CI 環境;在個人 open-source 專案中,可能會使用 travis-ci 搭配 GitHub 進行 CI。

在本篇中則使用 travis-ci 對 Laravel 5.1/5.2/5.3 的應用程式進行測試。

Laravel 的安裝

Laravel 5.1:

composer create-project laravel/laravel test-5.1 "5.1.*" --prefer-dist

Laravel 5.2:

composer create-project laravel/laravel test-5.2 "5.2.*" --prefer-dist

Laravel 5.3:

composer create-project laravel/laravel test-5.3 "5.3.*" --prefer-dist

Travis-CI 設定檔

在已經安裝成功的資料夾中,加入 .travis.yml 檔案,內容如下:

language: php

php:
  - 5.5
  - 5.6
  - 7.0
  - hhvm

sudo: false

env:
  - APP_DEBUG=false

install:
  - composer install --prefer-dist --optmize-autoloader --quiet

script: phpunit -c phpunit.xml --coverage-text

註:Laravel 5.2 以後版本僅支援 PHP 5.6 以後版本。

修改 phpunit.xml

在某些情況下,Travis-CI 無法自行生成 Laravel 所必需的 APP_KEY,所以我會習慣在 phpunit.xml 中設定一個假的 APP_KEY 供測試使用。

<env name="APP_ENV" value="testing"/>
<!--新增下一行的內容-->
<env name="APP_KEY" value="base64:BIA6BnBltNrrj13PiFvmCuhZZHXjgnc/DXjKIPFtaZQ"></env>
<!--新增上一行的內容-->
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>

如果不確定可以設定什麼樣的 APP_KEY 值,可以直接從 .env 中複製過來,然後再使用 php artisan key:generate 重新生成一個 KEY 值。

當 KEY 值已經外洩,請「千萬不要」再使用相同的 KEY


本篇文章同步發表於 Chivincent's Blog

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!