Behat多个配置文件

时间:2016-12-12 06:02:23

标签: php behat

我的behat.yml看起来像

machine:
  suites:
    machine:
      contexts:
        - MachineContext:
location:
  suites:
    location:
      contexts:
        - LocationContext:

当我运行behat -c behat.yml --profile machine时,它运行我的所有方案都是正确的,但当我运行behat -c behat.yml --profile location时,它运行方案rom location.feature并添加scenariose形式machine.feature并告诉我我失踪了

3 个答案:

答案 0 :(得分:0)

你可以从这个例子中激发灵感。根据您的需要进行调整。

default:
  extensions:
    Behat\MinkExtension:
      sessions:
        default:
          symfony2: ~
    Behat\Symfony2Extension:
      kernel:
        env: test
        debug: true

machine:
  extensions:
    Behat\MinkExtension:
      base_url: 'http://machine.domain.com/app_test.php/'
  suites:
    default:
      contexts:
        - Path/To/Your/Context/Machine1Context:
          - 'constructor parameter if you have any'
          - 'and another one'
        - 'Path/To/Your/Context/Machine2Context'

      type: symfony_bundle
      bundle: Whatever1YourBundle

location:
  extensions:
    Behat\MinkExtension:
      base_url: 'http://location.domain.com/app_test.php/'
  suites:
    default:
      contexts:
        - 'Path/To/Your/Context/LocationContext'

      type: symfony_bundle
      bundle: Whatever2YourBundle

或者您可以像Installing behat3 with composer.json

一样使用suites版本

答案 1 :(得分:0)

我发现我需要在配置文件配置中添加paths,现在我的behat.yml看起来像

machine:
  suites:
    machine:
      paths:
        - %paths.base%/features/machine.feature
      contexts:
        - MachineContext:
location:
  suites:
    location:
      paths:
        - %paths.base%/features/location.feature
      contexts:
        - LocationContext:

答案 2 :(得分:0)

通过添加以下命令为我工作:

behat -c behat.yml --profile machine --suite=machine

behat -c behat.yml --profile machine --suite=location