Мне нужен совет о том, как писать сценарии.Сначала я должен объяснить, что у нас есть архитектура CQRS, в которой команды и запросы являются отдельными API.Мы указываем команды со сценариями Gherkin, которые используются в Specflow для создания тестов.
В нижеприведенных сценариях домен - это расходы.Расслоение расходов - это совокупность расходов.В этом сценарии я хочу указать и протестировать, что я не могу создать расходы для пакета расходов, созданного кем-то другим.Я могу создать расходы только для созданного пакета расходов.
При следующем подходе я пытаюсь использовать как можно больше шагов:
Background:
Given I am declarant 'Marieke'
Scenario: Not allowed to create expense for a bundle that was created by another declarant
Given the following expense bundles exist
| declarant | name | administration | status |
| Lucy | Trip to New York | Company B.V. | not submitted |
When I create an expense for the following expense bundle
| declarant | name | administration | status |
| Lucy | Trip to New York | Company B.V. | not submitted |
Then the expense is not created for the expense bundle
Имя, администрация и статусвозможно, не относится к приведенному выше примеру.Но в другом сценарии я могу повторно использовать шаг «учитывая, что существуют следующие комплекты расходов».Это экономит время разработчика.
В следующем подходе я пытаюсь написать сценарий, который будет лучше читаемым и более конкретным:
Background:
Given I am declarant 'Marieke'
Scenario: Not allowed to create expense for a bundle that was created by another declarant
When I create an expense for an expense bundle that was created by another declarant
Then the expense is not created for the expense bundle
В этом случае разработчик должен написать Когдашаг, который, вероятно, никогда не будет использоваться снова.Это проблема?
Я много борюсь с обоими вариантами в моих сценариях.Любой совет?