Как протестировать ту же функцию с несколькими фонами в огурцах
У меня есть функция (файл .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
Ответы
Ответ 1
Если бы это был я, я просто втянул бы дублирование:
http://dannorth.net/2008/06/30/let-your-examples-flow/
Альтернативой может быть использование тега для функции, которая указывает, что вы хотите запускать сценарии для обеих групп пользователей. Затем используйте Around hook для запуска сценария дважды, один раз для каждого типа пользователя.
Мы говорили о вещах, таких как Background Outlines, но вывод, к которому мы пришли, заключался в том, что нецелесообразно реализовать его.