Огурец: как организовать сложный набор тестов

У меня есть три версии бэкэнда, которые я тестирую. Я хотел бы использовать аналогичные спецификации функций для трех версий.

Сначала я думал, что просто организую все в структуре каталогов, как таковой:

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
5
задан Sérgio Gomes 16 February 2011 в 22:46
поделиться