2016-04-09 90 views
0

我正在爲Laravel開發一個包,它實際上需要整個Laravel應用程序來運行我用Behat編寫的測試。與Laravel包和Behat的持續集成

我使用Travis作爲CI服務,我想知道是否有一個特定的.travis.yml配置讓我們的程序包爲新創建的Laravel應用程序創建。

基本上我的軟件包包含一個控制檯命令的特性,如果不安裝Laravel本身就無法測試它。

我知道我可以通過在.travis.yml中設置install鉤子來安裝新的Laravel應用程序,但後來我不知道如何與應用程序集成並運行我的測試。

回答

2

我要與你分享我的travis配置文件(我正在使用Laravel 5.1)。

我的文件與PHPUnit一起使用,但只是用您的Behat命令替換運行PHPUnit的行,其他一切都很完美。

.travis.yml

language: php 

php: 
    - 5.5.9 
    - 5.6 
    - 7.0 
    - hhvm 

matrix: 
    allow_failures: 
     - php: hhvm 

before_script: 
- cp .env.travis .env 
- mysql -e 'create database homestead;' 
- composer self-update 
- composer install --prefer-source --no-interaction --dev 
- php artisan migrate 
- php artisan db:seed 

script: vendor/bin/phpunit 

您必須包括.env.travis以及,一個示例文件應該是這樣的:

APP_ENV=testing 
APP_DEBUG=true 
APP_KEY=xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX 

DB_CONNECTION=mysql 
DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=root 
DB_PASSWORD= 

CACHE_DRIVER=array 
SESSION_DRIVER=array 
QUEUE_DRIVER=sync 

當然你也可以使用特定的DB_CONNECTION,可能在內存中運行sqlite或等..