mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-20 20:55:11 +02:00
4.3 KiB
4.3 KiB
tags | ||
---|---|---|
|
Контекст
Одним из важнейших блоков работы тестового движка является механизм контекстов.
Он позволяет:
- Хранить промежуточные данные и обеспечивать работу механизма текучих выражений
- Передавать между тестами необходимые данные
- Удалять тестовые данные
И имеет несколько ограничений:
- Не синхронизируется между клиентом и сервером
- Тестовые контексты имеют ограниченное время жизни, например, контекст теста "живет" только в рамках теста и событиях "ПередКаждымТестом", "ПослеКаждогоТеста".
Для различных механизмов движка существуют различные контексты, такие как контекст утверждений, контекст теста и тд.
Разработчику тестов будут интересны следующие контексты:
- Контекст теста (
ЮТест.КонтекстТеста
) - живет в рамках одного теста. Доступен в каждом тесте и в обработчиках событийПередКаждымТестом
ПослеКаждогоТеста
- Контекст тестового набора (
ЮТест.КонтекстТестовогоНабора
) - живет в рамках набора тестов. Доступен в каждом тесте набора и в обработчиках событийПередТестовымНабором
ПослеТестовогоНабора
ПередКаждымТестом
ПослеКаждогоТеста
- Контекст тестового модуля (
ЮТест.КонтекстМодуля
) - живет в рамках тестового модуля. Доступен в каждом тесте модуля и в обработчиках событийПередВсемиТестами
ПослеВсехТестов
ПередТестовымНабором
ПослеТестовогоНабора
ПередКаждымТестом
ПослеКаждогоТеста
Для тестовых наборов есть возможность определить отдельный контекст, доступный в конкретном наборе. Для этого надо переопределить события тестового набора через настройки "ПередТестовымНабором" и "ПослеТестовогоНабора" соответственно. В текущей реализации такой отдельный контекст набора не заменяет общий, а дополняет его. Пример:
Процедура ИсполняемыеСценарии() Экспорт
ЮТТесты
.ДобавитьТестовыйНабор("Набор1")
.ДобавитьТест("Тест1")
.ДобавитьТестовыйНабор("Набор2")
.НастройкаИсполнения("ПередТестовымНабором", "ПередТестовымНабором_Набор2")
.НастройкаИсполнения("ПослеТестовогоНабора", "ПослеТестовогоНабора_Набор2")
.ДобавитьТест("Тест2");
КонецПроцедуры
Процедура ПередТестовымНабором() Экспорт
ЮТест.Контекст().УстановитьЗначение("...", ...); // Будет доступен в тестах каждого набора
КонецПроцедуры
Процедура ПередТестовымНабором_Набор2() Экспорт
ЮТест.Контекст().УстановитьЗначение("...", ...); // Будет доступен только в тестах второго набора
КонецПроцедуры