knectar / behat-ci

一个控制台应用程序,用于在服务器上安排、生成配置和运行 behat 测试

安装: 121

依赖项: 0

建议者: 0

安全: 0

星星: 3

关注者: 8

分支: 0

开放问题: 0

类型:项目

1.1.0 2015-10-05 15:46 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:15:59 UTC


README

Scrutinizer Code Quality

简介

Behat 持续集成 CLI 是一种高效的方式来管理 Behat 配置,并在项目更新时自动运行 Behat 测试。它还会为您生成一个自定义的 Behat.yml 配置文件。您只需指定配置文件。

系统要求

安装

  1. 在全局 composer.json 中包含 behat-ci,使用 composer global require knectar/behat-ci
  2. 运行 composer global update 以安装(无需数据库配置。)
  3. 在保存应用的目录中运行 composer install。(通常为 /home/user/.composer/vendor/knectar/behat-ci/app)
  4. 更新系统 PATH 以包括应用程序的 app 目录(path/to/global/.composer/vendor/knectar/behat-ci/app)
  5. 到此为止,我们现在可以运行这个应用程序的命令了!

配置

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

当更改被推送(或手动)时调用。此命令将

  1. 更新 bhqueue.txt,告诉应用程序需要运行测试。

  2. 生成运行自定义 Behat 配置所需的 .yml 配置文件。此文件将存储在 /tmp 中,并由 'trigger' 命令处理。您可以使用 behat-ci 生成 behat.yml 文件并手动执行 behat 测试,方法是运行 bh schedule $projname -b $branchname 后跟 behat -c /tmp/project_env.yml

    bh trigger 旨在由服务器上的 cron 定期(每分钟)调用。它检查 bhqueue 是否在项目中进行了更改以及是否需要执行测试。它将根据指定的标志/参数运行所需的 Behat 测试。

要使用单个命令手动运行测试,请运行

bh test

与 bh schedule 相同的输入参数,应用程序将依次执行安排和触发。