Пропустить следующие тесты, если один огурец безмятежности не прошел

Я использую Serenity с Cucumber для написания автоматических веб-тестов, я не смог найти в документации способ игнорировать следующие тесты, когда один из них выходит из строя.

В настоящее время, если шаг не выполняется, следующие шаги в том же СЦЕНАРИИ игнорируются, но выполняются следующие сценарии в функции.

Я хочу, чтобы при неудачном тесте пропустил все следующие шаги и сценарии.


person Rogger Fernandes    schedule 09.02.2017    source источник


Ответы (2)


Чтобы уточнить сказанное Джоном Смартом:

Каждый сценарий должен иметь возможность пройти, не полагаясь на сценарии, которые были выполнены до него.

Более того: известно, что подключение к Интернету временами бывает вспыльчивым. Если один из ваших сценариев завершился неудачей из-за того, что Интернет отключился во время ожидания загрузки страницы, вы не хотите, чтобы все сценарии после этого (на которые может не повлиять первый сбой) были пропущены.

Суммируя:

Обеспечение независимости ваших сценариев снижает уязвимость вашего пакета автоматизации.

Пропуск сценариев в случае сбоя - плохая практика (особенно для веб-приложений), поскольку подключение к Интернету не является постоянной величиной, на которую можно положиться.

person KyleFairns    schedule 11.02.2017
comment
Извините, что разбудил нить, но этот аргумент, хотя и верен, неполон, и поэтому его недостаточно, чтобы отказаться от практики. Вы говорите только о временных сбоях, но есть сбои, которые являются окончательными: если вы сохранили неправильный пароль для своих подключений, все ваши тесты не пройдут. Нет смысла продолжать испытания. Особенно, если мы говорим о приемочных тестах, которые, как правило, труднее выполнять, чем модульные тесты. Конечно, пропуск тестов после сбоя, каким бы он ни был, может быть неправильным решением. Но пропуск тестов после определенного вида сбоя актуален. - person Matthieu; 07.11.2019
comment
@Matthieu, проблема с размещением чего-либо, чтобы заставить остальные тесты провалиться, заключается в том, что это может быть просто нестабильный тест, и мы должны писать тесты с учетом этого. Это может быть неправильный пароль для подключений, но если вы полагаетесь на это, вы можете проверить это в своем хуке beforeall (в качестве проверки работоспособности) - ввод его на тестовом уровне - не лучший вариант, который у вас есть в этом сценарий - person KyleFairns; 07.11.2019

Это не поддерживается ни в Serenity, ни в инструментах BDD в целом. Сценарии должны быть независимыми примерами критериев приемки или бизнес-правил, а не этапами более крупного теста.

person John Smart    schedule 09.02.2017