在前面的勾黄瓜功能和情景大纲名称(Feature and scenario outline name

2019-09-18 13:47发布

如果我有一个简单的黄瓜功能场景 ,像这样(示例代码是从黄瓜维基 ):

Feature: Eating cucumbers

Scenario: eat 5 out of 12
  Given there are 12 cucumbers
  When I eat 5 cucumbers
  Then I should have 7 cucumbers

我知道如何让功能场景名称before钩:

Before do |scenario|
  p [scenario.feature.name, scenario.name]
end

上面的代码返回:

["Eating cucumbers", "eat 5 out of 12"]

问题是如果该功能方案概要

Scenario Outline: eating
  Given there are <start> cucumbers
  When I eat <eat> cucumbers
  Then I should have <left> cucumbers

  Examples:
    | start | eat | left |
    |  12   |  5  |  7   |

当我运行上面的代码我得到:

undefined method `feature' for #<Cucumber::Ast::OutlineTable::ExampleRow:0x007fb0f94a8240> (NoMethodError)

我如何得到黄瓜特点方案大纲名称before钩?

Answer 1:

更改before钩到这一点:

Before do |scenario|
  p [scenario.scenario_outline.feature.name, scenario.scenario_outline.name, scenario.name]
end

输出:

["Eating cucumbers", "eating", "| 12 | 5 | 7 |"]


Answer 2:

scenario.gets应该给你的功能名称。



文章来源: Feature and scenario outline name in cucumber before hook
标签: cucumber