Подтвердить что ты не робот

Как протестировать ту же функцию с несколькими фонами в огурцах

У меня есть функция (файл .feature), который отлично работает в огурце.

Фон всех сценариев в функции просто настраивает пользователя, а затем регистрируется как супервизор, например

   Background:
     Given I am logged in as a supervisor with an existing supervisee

   ...loads of scenarios

Однако дизайн/цели приложения изменились, и одни и те же сценарии должны работать независимо от того, зарегистрированы ли вы в качестве супервизора или как пользователь. Это не относится к большей части остальной части приложения, где дизайн не симметричен для супервизоров/пользователей.

Есть ли разумный способ избежать копирования и вставки всего файла с другим фоном? Кажется, что нет способа параметризовать фон (например, с помощью: или: строфа), или, альтернативно, способ вытащить внешний файл с загрузкой сценариев. Идеи?

   Background:
     Given I am logged in as an existing supervisee

   ...same loads of scenarios

Вот какой-то синтаксический синтаксический синтаксис (который не существует)

   Background Outline:
     Given I am logged in as a <user>

   Backgrounds:
     | user                                   |
     | supervisor with an existing supervisee |
     | an existing supervisee                 |

   ...loads of scenarios

Альтернативный синтаксис Герхардского фэнтези:

   Background:
     Given I am logged in as an existing supervisee

   Include Scenarios:
     supervisor.features
4b9b3361

Ответ 1

Если бы это был я, я просто втянул бы дублирование:

http://dannorth.net/2008/06/30/let-your-examples-flow/

Альтернативой может быть использование тега для функции, которая указывает, что вы хотите запускать сценарии для обеих групп пользователей. Затем используйте Around hook для запуска сценария дважды, один раз для каждого типа пользователя.

Мы говорили о вещах, таких как Background Outlines, но вывод, к которому мы пришли, заключался в том, что нецелесообразно реализовать его.