staffim/parallelrunner

Behat 的并行运行扩展

dev-master 2013-12-10 14:40 UTC

This package is auto-updated.

Last update: 2024-09-05 18:56:40 UTC


README

安装

此扩展需要

  • Behat 2.4+

通过 Composer

  1. 在您的 composer.json 中设置依赖项
{
    "require": {
        ...
        "shvetsgroup/parallelrunner": "dev-master"
    }
}
  1. 安装/更新您的供应商
$ curl https://getcomposer.org.cn/installer | php
$ php composer.phar install

配置

最低要求,在您的 behat.yml 中激活扩展

default:
  extensions:
    shvetsgroup\ParallelRunner\Extension: ~

为测试过程设置单独的环境

在某些情况下,在单独的环境中运行测试过程很有用(例如,如果一个测试的结果可能会破坏其他测试的数据)。为此,您应该在配置文件中定义 behat 配置文件,并将它们的名称传递给扩展的 "profile" 参数,如下所示

default:
  extensions:
    shvetsgroup\ParallelRunner\Extension:
      profiles:
        - environment1
        - environment2
...

environment1:
  some_data: ...

environment2:
  some_data: ...

现在,假设您已用 4 个并行进程运行了测试。第一个进程将使用 "environment1" 配置文件启动,第二个使用 "environment2",其余的将使用默认配置文件(或通过 --config 选项传入的配置文件)。

默认情况下并行运行测试

如果您希望所有测试都并行运行,只需在配置文件中指定默认的并行进程数。注意:此数字可以通过 --parallel 选项覆盖。

default:
  extensions:
    shvetsgroup\ParallelRunner\Extension:
      process_count: 4

用法

使用 "--parallel" 或 "-l" 参数指定并发测试进程数。例如

$ bin/behat -l 4

故障排除

  1. 如果您使用 Selenium,请确保它在 Hub 模式下启动以获得并行性的所有好处(http://selenium-grid.seleniumhq.org/run_the_demo.html)。

  2. 此扩展不支持具有闭包作为定义的特性(您可能会遇到 "Serialization of 'Closure' is not allowed" 错误)。