繁体   English   中英

与Laravel包和Behat持续集成

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM