Я относительно новичок в BDD, и у меня есть вопрос о контурах сценариев. Когда вы просматриваете образцы через Интернет, я чувствую, что заполнители могут принимать любые значения. Количество элементов в их домене не ограничено. Here является одним из примеров:Сценарий Схема: Заполнитель с ограниченным числом возможных значений
Scenario Outline: eating
Given there are <start> cucumbers
When I eat <eat> cucumbers
Then I should have <left> cucumbers
Examples:
| start | eat | left |
| 12 | 5 | 7 |
| 20 | 5 | 15 |
Заполнитель <start>
, например, может быть любое количество, так что число значений бесконечно.
В моих спецификациях я должен иметь дело с контрактами, которые могут иметь одно из четырех состояний (запланированное, продолжающееся, приостановленное и закрытое). Мои спецификации говорят, что я могу редактировать запланированные контракты, но мне не разрешено редактировать контракты, в которых есть одно из трех остальных состояний.
Я думаю, что я бы написал сценарий под названием «Обновление запланированного контракта» и один сценарий сценария, в котором статус контракта является заполнителем.
Scenario: Update a planned contract
Given the list of contracts as follows
| name | status | some value |
| c1 | planned | 123 |
And I have edited contract c1 as follows
| field | value |
| name | c1 |
| some value | 456 |
When I save contract c1
Then the list of contracts should be as follows
| name | status | some value |
| c1 | planned | 456 |
Scenario Outline: Update contract
Given there is a <status> contract
And I have edited that contract
When I save that contract
Then I an error 'only planned contracts are allowed to change' should be displayed
Examples:
| status |
| ongoing |
| paused |
| closed |
Это правильный путь? Один сценарий изъятия и один параметр? Или я должен написать схему сценария как явные сценарии для каждой возможности? Я не уверен, потому что статус контракта ограничен четырьмя возможными значениями, а не примерами в Интернете.
Спасибо AlSki! Извините за поздний комментарий. Уведомление о вашем ответе на электронную почту не помогло. – Yavuz