Когда я пишу функцию, которая использует те же слова, что и другие функции, как мне убедиться, что правильные шаги вызваны для сохранения? - PullRequest
1 голос
/ 02 сентября 2010

Я пишу функции с одним и тем же словом для некоторых сценариев.

Feature: User Management
Scenario: Edit an existing user's details
Given a user exists

и

Feature: Group Management
Scenario: Add a user to a group's membership
Given a user exists
And a group exists

В SpecFlow есть хороший способ определить, какой шаг вызывает каждая функция?Я поступаю неправильно с написанием сценария?Должен ли я просто укусить пулю и изменить свои данные заявления, чтобы обозначить, к какой функции они относятся?Я новичок в BDD и SpecFlow, поэтому любая помощь приветствуется.

1 Ответ

1 голос
/ 06 сентября 2010

Формат Gherkin (используемый инструментами семейства Cucumber, например, SpecFlow) не имеет структуры для разделения шагов между объектами (внутри функции можно использовать фоны ).

Смысл этого в том, что функции должны быть самоописуемы и завершены сами по себе.Используя раздел «Фон», вы можете избежать слишком длинных сценариев, но при этом хранить всю информацию в файле.Тем не менее, вы должны повторить общие шаги для каждой функции.

В качестве альтернативы вы также можете создавать привязки событий (например, «крючки» в огурце), где вы можете реализовать некоторую логику шарда.Но тогда эта общая логика должна быть реализована в .NET.

...