У меня есть три версии бэкэнда, которые я тестирую. Я хотел бы использовать аналогичные спецификации функций для трех версий.
Сначала я думал, что просто организую все в структуре каталогов, как таковой:
features/
v1/
something.feature
step_definitions/
something_steps.rb
v2/
something.feature
step_definitions/
something_steps.rb
v3/
something.feature
step_definitions/
something_steps.rb
Однако огурец, похоже, все сглаживает, а это означает, что я заканчиваю с неоднозначными определениями шагов.
Затем я подумал о следующей структуре:
features/
v1/
something.feature
v2/
something.feature
v3/
something.feature
step_definitions/
something_steps.rb
Я бы определил переменную где-нибудь в файле функций, указав, для какой версии она предназначена, и я бы получил кучу «если» "внутри файла шагов, для выбора путей кода в зависимости от переменной версии. Однако я не нашел очевидного способа определения этой переменной в файле функций.
Могу ли я каким-то образом упорядочить вещи, или мне просто нужно будет создать несколько корневых "компонентов", по одному для каждой версии, что быть ужасным решением, учитывая, что это будет означать многократные вызовы огурца?
v1/
features/
something.feature
step_definitions/
something_steps.rb
v2/
features/
something.feature
step_definitions/
something_steps.rb
v3/
features/
something.feature
step_definitions/
something_steps.rb