Есть 2 способа создания связанных шагов сценария
- Шаги/тесты одного сценария объединяем в одной обработке тестирования (внешней/встроенной)
- Также можно объединять несколько тестовых обработок в единый сценарий, использующих единый контекст и выполняющиеся последовательно.
1 Шаги/тесты одного сценария объединяем в одной обработке тестирования (внешней/встроенной).
- Эта обработка фактически и является набором.
2 Реализуем функцию РазрешенСлучайныйПорядокВыполненияТестов
, в ней возвращаем Ложь.
- В этом случае тесты всегда будут запускаться в том порядке, который задан при добавлении тестов в методе
ПолучитьСписокТестов
3 Для методов начала и завершения тестового сценария можно использовать один из вариантов:
-
реализовать методы
ПередЗапускомТестовогоНабора
/ПослеЗапускаТестовогоНабора
- рекомендуется
-
использовать первый и последний тесты (по порядке добавления тестов в
ПолучитьСписокТестов
).- не рекомендуется, т.к. возможны ошибки выполнения сценария
- например. если в первом шаге/тесте будут ошибки, все остальные шаги/тесты будут выполнены
- не рекомендуется, т.к. возможны ошибки выполнения сценария
Смотри Пример такого тестового набора
Также можно объединять несколько тестовых обработок в единый сценарий, использующих единый контекст и выполняющиеся последовательно.
Примеры таких обработок - первый сценарий - УстановитьКонтекст и следующий сценарий - ПолучитьКонтекст
-
Вопрос:
- Получается, что тестовый набор - он внутри одной обработки?
- И весь его смысл - запустить тесты по порядку.
*Ответ:
- Это желательно, но не обязательно.
- И несколько обработок могут выступать в виде одного набора
-
Вопрос
- А если один тест/шаг теста выпадет, прервется ли выполнение набора?
*Ответ:
- Нет, без специальной обработки будут выполнены все тесты.
- Данное поведение можно реализовать в самих тестах, используя работу с
Контекстом
тестирования. - При выполнении каждого последующего теста из набора проверять, что предыдущий тест установил правильный контекст. Если контекст не тот, то ронять тест с соответствующим сообщением об ошибке.
- Или для пропуска оставшихся шагов тестов после упавшего шага нужно в обработчике
ПослеЗапускаТеста
проверять состояние теста черезДанныеТекущегоТеста
и удалять нужный контекст, если состояние теста не равноВыполнился