knectar / behat-ci
一个控制台应用程序,用于在服务器上安排、生成配置和运行 behat 测试
Requires
- php: >=5.3.9
- incenteev/composer-parameter-handler: ~2.0
- symfony/console: ^2.7
- symfony/monolog-bundle: ~2.4
- symfony/symfony: 2.7.*
- symfony/yaml: ^2.7
This package is not auto-updated.
Last update: 2024-09-28 18:15:59 UTC
README
简介
Behat 持续集成 CLI 是一种高效的方式来管理 Behat 配置,并在项目更新时自动运行 Behat 测试。它还会为您生成一个自定义的 Behat.yml 配置文件。您只需指定配置文件。
系统要求
安装
- 在全局 composer.json 中包含 behat-ci,使用
composer global require knectar/behat-ci - 运行
composer global update以安装(无需数据库配置。) - 在保存应用的目录中运行
composer install。(通常为 /home/user/.composer/vendor/knectar/behat-ci/app) - 更新系统 PATH 以包括应用程序的 app 目录(path/to/global/.composer/vendor/knectar/behat-ci/app)
- 到此为止,我们现在可以运行这个应用程序的命令了!
配置
behat-ci 的平稳运行依赖于多个文件协同工作。
bhqueue.txt 是一个简单的文本文件,用于跟踪测试何时安排运行,由 bh schedule 命令写入。
profiles.yml 是设备配置列表以及默认 Behat 配置。您可以随意添加更多并根据自己的标准和 Sauce Labs 上可用的内容进行自定义。请参阅示例文件作为模板使用。
projects.yml 是您要针对其运行测试的项目列表。它将包含每个项目的条目,格式如下
whitetest: #the overall project name. uses the beanstalkapp machine name environments: # should match the branch -dev: base_url: http://example.com features: /path/to/project/features/directory -production: base_url: http://example.com features: /path/to/project/features/directory profiles: #to run as set in profiles.yml - win-chrome - android - iPhone behat-params: #optional additional parameters format: html out: /path/to/output.html
注意:默认情况下,projects.yml、profiles.yml、bhqueue 和 bhqueuelog 位于 /etc/behat-ci/ 目录中。Trigger 将在 /etc/behat-ci 或用户的主目录中查找 profiles.yml 和 projects.yml。否则,必须在 config.yml 中设置文件的绝对路径,以便命令知道在哪里查找。
用法
要了解控制台中的命令详细信息,只需运行
bh
应用程序依赖于两个关键命令:
bh schedule
当更改被推送(或手动)时调用。此命令将
-
更新 bhqueue.txt,告诉应用程序需要运行测试。
-
生成运行自定义 Behat 配置所需的 .yml 配置文件。此文件将存储在 /tmp 中,并由 'trigger' 命令处理。您可以使用 behat-ci 生成 behat.yml 文件并手动执行 behat 测试,方法是运行
bh schedule $projname -b $branchname后跟behat -c /tmp/project_env.ymlbh trigger 旨在由服务器上的 cron 定期(每分钟)调用。它检查 bhqueue 是否在项目中进行了更改以及是否需要执行测试。它将根据指定的标志/参数运行所需的 Behat 测试。
要使用单个命令手动运行测试,请运行
bh test
与 bh schedule 相同的输入参数,应用程序将依次执行安排和触发。