после прочтения многих статей, в моем понимании, все тесты Cucumber должны быть независимыми друг от друга и автономными, так что это правила, которым я следую, когда автоматизирую свои тесты веб-приложений.
Допустим, я тестирую вебстраница с несколькими полями ввода.
В настоящее время для операций CRUD у меня есть два типа сценариев:
Scenario: Check page display correct data
Given: I populate DB with data
When: I open the page
Then: Page data should match with data from DB
Scenario: Update page data
Given: I populate DB with data
When: I open the page
And: I update each field with some new data
When: I press save button to save data
Then: Page data should match with data from DB
Так что в этом случае у меня есть два сценария, которые проверяют, правильно ли отображаются данные,и еще один, который обновляет данные и проверяет их, но поскольку шаг, который заполняет базу данных, занимает много времени (1-3 секунды), я подумал, почему бы не объединить эти два типа сценариев в один, что значительно сокращает время выполнения:
Scenario: Update page data
Given: I populate DB with data
When: I open the page
Then: Page data should match with data from DB
And: I update each field with some new data
When: I press save button to save data
Then: Page data should match with data from DB
Как видите, сначала я заполняю базу данных, затем проверяю, правильно ли она отображается, затем я изменяю ее и проверяю снова, поэтому таким образом я проверил две операции CRUD (чтение и обновление).в одном сценарии, но я считаю, что это будет противоречить принципам.