[英]Continuous integration with Laravel package and Behat
我正在为Laravel开发一个包,它实际上需要整个Laravel应用程序来运行我用Behat编写的测试。
我正在使用Travis作为CI服务,我想知道是否存在特定的.travis.yml
配置,以便为我的包创建测试,并使用新创建的Laravel应用程序运行。
基本上我的包包含一个控制台命令的特性,如果不安装Laravel本身就无法测试。
我知道我可以通过在.travis.yml
设置install
挂钩来安装新的Laravel应用程序,但后来我不知道如何与应用程序集成和运行我的测试。
我要与你分享我的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等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.