2014-10-15 2 views
0

Мне интересно, как мы можем передавать переменные между файлами определений двух шагов.Переменные переменных между определениями шагов в Cucumber groovy

Я нашел это How to share variables across multiple cucumber step definition files with groovy, но их структура отличается от моей, потому что я не использую классы в определении шага.

Следующие файлы определения двух шагов.

файл Функция 1

Scenario: Consumer registration 
    When I try to register with my details with "memberNo" mem no. 
    Then I should be able to get success response 

stepDef1

When(~'^I try to register with my details with "([^"]*)" mem no.$') { String memdNo -> 
    sMemdNo = memNo + getRanNo() 
    // more code here 
} 

Feature File 2

Scenario: Event Generation 
    When I activate my account 
    Then I can see the file having "logName" event 

stepDef2

Then(~'^I can see the file having "([^"]*)" event$') { String logName -> 
    eventFile = GetLogtData(logName , sMemdNo) 
    // more code here 
} 

Таким образом, в соответствии с выше я хочу, чтобы получить значение sMemdNo из stepDef1 и использовать его в stepDef2.

+0

Можете ли вы опубликовать свой файл функций? – Selena

+0

Почему вы не хотите использовать классы? Казалось бы, это очевидный способ сохранить информацию между связанными шагами. – BarrySW19

+0

@ Селена Извините за обновление задержки, я добавил два файла функций к вопросу. – SMPH

ответ

0

Я рекомендую вам использовать World, чтобы хранить глобальные переменные, необходимые для определения шагов. Здесь вы можете увидеть пример: cucumber-jvm-groovy-example. Вы можете комбинировать мир с шаблоном инъекции фабрики и/или зависимостей.

Смежные вопросы