【发布时间】:2016-10-11 04:16:40
【问题描述】:
在处理 laravel 5.1+ 包时,我需要通过 travis-ci.org 运行自动化测试。与常规自动化测试的不同之处在于需要将此包包含到框架中并设置特定的配置选项来运行测试。
所以要求是:
- 安装 laravel
- 将我的包添加为依赖项
- 设置一些特定于 travis 的配置,例如 travis 数据库访问权限
- 运行 laravel 的迁移
- 运行特定于包的迁移或运行工匠命令
- 运行包特定的单元测试
我到处寻找;在laravel forums 上问过,在 travis 社区聊天中问过,发现this topic 被关闭是因为过于本地化(尽管现在回答肯定会有所帮助)。我希望我的问题适合保持开放状态。
此时我有如下配置:
language: php
php:
- 5.5
- 5.6
- hhvm
addons:
hosts:
- system.hyn.me
- tenant.hyn.me
before_install:
- sudo composer self-update
install:
- composer create-project laravel/laravel
- cd ./laravel
- composer require hyn-me/multi-tenant ~0.1.0
- composer update
before_script:
- cp .env.travis .env
- export APP_ENV="testing"
- php artisan migrate -q -n --path ./vendor/hyn-me/multi-tenant/src/migrations
- cd ./vendor/hyn-me/multi-tenant
script: phpunit
然而,我对 travis 的了解(到目前为止)是有限的,在我发送大量不需要的提交来解决我的问题之前,我宁愿听听你对什么是测试框架集成的好方法的看法。
附言。这涉及到包hyn/multi-tenant。
就如何使这个问题尽可能笼统地提出建议会很有帮助。我希望在不明确提及最佳实践和请求集成到框架示例的情况下有助于定义答案的范围。
【问题讨论】:
标签: php unit-testing package laravel-5 travis-ci