Единственный способ, которым я мог подумать, что это будет возможно (но я не рекомендую его), - это определить некоторую переменную для отслеживания сценария, из которого вы работаете. Например, вы можете добавить тег в каждый из сценариев.
@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 вара.
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
Это помогло бы лучше описать то, что тест на самом деле делает ,
Nope Anand это совсем другое, у меня есть один шаг conman в обоих файлах, и я хочу выполнить метод в зависимости от сценария. Ex добавить 10 из Maths.feature должен выполнить форму метода MathsStepDef.java и добавить 10 из операции substract.feature должен выполнить метод из SubstractStepdef.java – VarunRaje
Пожалуйста, поделитесь некоторым кодом, который описывает, что вы хотите. И помните, что Огурец найдет метод везде, где он определен. Два шага в одном сценарии вызовут два вызова метода. Эти методы могут быть определены в двух разных классах. –