Reputation: 57262
If I have a simple cucumber feature and scenario, like this (example code is from cucumber wiki):
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
I know how to get feature and scenario name in before
hook:
Before do |scenario|
p [scenario.feature.name, scenario.name]
end
The above code returns:
["Eating cucumbers", "eat 5 out of 12"]
The problem is if the feature has scenario outline:
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 |
When I run the above code I get:
undefined method `feature' for #<Cucumber::Ast::OutlineTable::ExampleRow:0x007fb0f94a8240> (NoMethodError)
How do I get feature and scenario outline name in cucumber before
hook?
Upvotes: 4
Views: 9526
Reputation: 57262
Change before
hook to this:
Before do |scenario|
p [scenario.scenario_outline.feature.name, scenario.scenario_outline.name, scenario.name]
end
Output:
["Eating cucumbers", "eating", "| 12 | 5 | 7 |"]
Upvotes: 6