场景挂钩仅对场景轮廓有效?

时间:2015-04-02 18:59:21

标签: cucumber bdd

我们正在使用Cucumber和Selenium和Ruby。阅读documentation on hooks后,我尝试设置一些标签来设置(例如)一些环境变量。

这是一个展示问题的人为例子。

当我像这样建立Before钩子时:

Before('@tag1', '@tag2') do
  puts "in the before hook!"
end

它会在如此定义的场景下生效:

@tag1 @tag2
Scenario Outline: This is a test scenario
  Given I run my first step for "<user>"
  Then I complete my test

@firstrun
Scenarios:
|user|
|fred|

@secondrun
Scenarios:
|user|
|barney|

..但是,如果我将@tag1@tag2移动到各个场景而不是场景大纲,则永远不会调用钩子,例如:

@secondrun @tag1 @tag2
Scenarios:
|user|
|barney|

是否有可能“勾结”各个场景,或仅勾勒出轮廓?

1 个答案:

答案 0 :(得分:2)

通常情景大纲中,您测试的值表与之相关,而不是单独的方案。

E.g

ScenarioOutline
    Given I am on gmails website
    When I login as <user> with <password>
    Then I am able to view my primary inbox
    Example:
    | user | password |
    | Fred | xd13#%&  |