Мы с коллегой спорим о правильном способе тестирования.Я выложу их настолько нейтрально, насколько смогу, и не буду высказывать свое мнение в этом посте.
Это написано в корнишоне.Замените любой псевдокод, который вы хотите.
Given I am a registered user
When I submit my credentials
Then I can login
Первый случай:
Given I am a registered user
(instantiates the user,
stores the user to scenario-global memory,
adds the user to the db with an API endpoint
stores the API endpoint result to scenario-global memory [200, "Success message"])
When I submit my credentials
(test the result of the previous step [200],
fills the credential field(s),
clicks submit, stores the result to scenario-global memory [200, "Success message"])
Then I can login
(tests the results of the previous step)
Второй случай:
Given I am a registered user
(instantiates the user,
stores the user in scenario-global memory,
adds the user to the db, tests the result of the db command)
When I submit my credentials
(fills the UI credential field(s),
clicks submit)
Then I can login
(perform some operation that only a logged-in user could do [see the my profile button/call some api endpoint])
Конфликт состоит в том, может ли шаг Тогда полагаться на результат предыдущей операции.