Единственный способ, которым я мог бы подумать, что это возможно (но я не рекомендую это), - это определить некоторую переменную для отслеживания того, из какого сценария вы работаете. Например, вы можете добавить тег к каждому из сценариев.
@some_tag
Scenario: This is scenario 1
Given I do this thing
@some_other_tag
Scenario: This is scenario 2
Given I do this thing
тогда вы можете создать крючок, который отслеживает
Before('@some_tag') do
@this = "foo"
end
Before('@some_other_tag') do
@this = "bar"
end
Затем с вашего шага вы запускаете код в зависимости от значения @this var.
Given(/^I do this thing$/) do
if @this.eql? "foo"
<do some code>
elsif @this.eql? "bar
<do something else>
else
<do other things>
end
Но правда, после всего этого... У вас должно быть просто два разных шага
Given I do this Foo Thing
а также
Given I do this Bar Thing
Это помогло бы лучше описать, что на самом деле делает тест.
person
Jarod Adair
schedule
22.03.2016