У меня есть три версии бэкэнда, которые я тестирую. Я хотел бы запустить аналогичные спецификации функций для трех версий.
Первоначально я думал, что я просто организую все в структуре каталогов, как таковой:
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