Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 4.97 KB

Связанные-наборы-тестов-тестовые-сценарии-в-виде-связанных-шагов-сценария-(версия-3.Х).md

File metadata and controls

51 lines (34 loc) · 4.97 KB

Есть 2 способа создания связанных шагов сценария

  • Шаги/тесты одного сценария объединяем в одной обработке тестирования (внешней/встроенной)
  • Также можно объединять несколько тестовых обработок в единый сценарий, использующих единый контекст и выполняющиеся последовательно.

Связанные шаги реализуем в одной тестовой обработке:

1 Шаги/тесты одного сценария объединяем в одной обработке тестирования (внешней/встроенной).

  • Эта обработка фактически и является набором.

2 Реализуем функцию РазрешенСлучайныйПорядокВыполненияТестов, в ней возвращаем Ложь.

  • В этом случае тесты всегда будут запускаться в том порядке, который задан при добавлении тестов в методе ПолучитьСписокТестов

3 Для методов начала и завершения тестового сценария можно использовать один из вариантов:

  • реализовать методы ПередЗапускомТестовогоНабора / ПослеЗапускаТестовогоНабора

    • рекомендуется
  • использовать первый и последний тесты (по порядке добавления тестов в ПолучитьСписокТестов).

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

Смотри Пример такого тестового набора


Также можно объединять несколько тестовых обработок в единый сценарий, использующих единый контекст и выполняющиеся последовательно.

Примеры таких обработок - первый сценарий - УстановитьКонтекст и следующий сценарий - ПолучитьКонтекст


Вопросы:
  • Вопрос:

    • Получается, что тестовый набор - он внутри одной обработки?
    • И весь его смысл - запустить тесты по порядку.

    *Ответ:

    • Это желательно, но не обязательно.
    • И несколько обработок могут выступать в виде одного набора
  • Вопрос

    • А если один тест/шаг теста выпадет, прервется ли выполнение набора?

    *Ответ:

    • Нет, без специальной обработки будут выполнены все тесты.
    • Данное поведение можно реализовать в самих тестах, используя работу с Контекстом тестирования.
    • При выполнении каждого последующего теста из набора проверять, что предыдущий тест установил правильный контекст. Если контекст не тот, то ронять тест с соответствующим сообщением об ошибке.
    • Или для пропуска оставшихся шагов тестов после упавшего шага нужно в обработчике ПослеЗапускаТеста проверять состояние теста через ДанныеТекущегоТеста и удалять нужный контекст, если состояние теста не равно Выполнился