1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-01-05 12:50:36 +02:00
Тест на удаление данных созданных в ПередВсемиТестами
Правка описания по этому поводу
This commit is contained in:
alkoleft 2023-05-16 00:07:36 +03:00
parent 95e0332769
commit 82ff5bc082
3 changed files with 12 additions and 8 deletions

View File

@ -32,7 +32,7 @@ tags: [Getting started, Test data]
Такие данные необходимо удалять самостоятельно при необходимости. Такие данные необходимо удалять самостоятельно при необходимости.
::: :::
## Механизма удаления тестовых данных ## Механизм удаления тестовых данных
Для включения нужно при регистрации теста вызвать метод `УдалениеТестовыхДанных()` Для включения нужно при регистрации теста вызвать метод `УдалениеТестовыхДанных()`
@ -58,7 +58,11 @@ tags: [Getting started, Test data]
* Удалять данные созданные с клиента * Удалять данные созданные с клиента
* Удалять данные созданные вне теста (в обработчиках событий) * Удалять данные созданные вне теста (в обработчиках событий)
:::tip :::caution Удаление и только
Механизм только удаляет созданные объекты, изменения не откатываются
:::
:::tip Разное время жизни данных
Механизм понимает в рамках какого контекста исполнения (тест, набор, модуль) были созданы данные и удаляет их по выходу из него. Механизм понимает в рамках какого контекста исполнения (тест, набор, модуль) были созданы данные и удаляет их по выходу из него.
::: :::
@ -66,7 +70,7 @@ tags: [Getting started, Test data]
```bsl title=УдалениеТестовыхДанныхВремяЖизни.bsl ```bsl title=УдалениеТестовыхДанныхВремяЖизни.bsl
Процедура ПередВсемиТестами() Экспорт Процедура ПередВсемиТестами() Экспорт
ДанныеМодуля = ЮТест.Данные().СоздатьЭлемент(); // Не будет удалена ДанныеМодуля = ЮТест.Данные().СоздатьЭлемент();
КонецПроцедуры КонецПроцедуры
Процедура ПередТестовымНабором() Экспорт Процедура ПередТестовымНабором() Экспорт
@ -84,13 +88,12 @@ tags: [Getting started, Test data]
Для переменных получим разное время жизни Для переменных получим разное время жизни
* `ДанныеМодуля` - Не будет удалена, проблема будет решена в ближайшем будущем. * `ДанныеМодуля` - Живет, пока исполняются тесты модуля одного контекста (Сервер, Клиент).
* `ДанныеНабора` - Живет, пока исполняются тесты набора. * `ДанныеНабора` - Живет, пока исполняются тесты набора.
* `ДанныеТеста` и `Ссылка`- Живут, пока исполняется тест. * `ДанныеТеста` и `Ссылка` - Живут, пока исполняется тест.
:::caution Механизм имеет ряд ограничений и не работает для следующих кейсов: :::caution Механизм имеет ряд ограничений и не работает для следующих кейсов:
* Данные создан не через API * Данные создан не через API
* Данные созданы в событии "ПередВсемиТестами" (работает для "ПередТестовымНабором")
* Данные созданы в клиентском модуле через вызов своего серверного модуля, даже если он использует API тестового движка * Данные созданы в клиентском модуле через вызов своего серверного модуля, даже если он использует API тестового движка
::: :::

View File

@ -166,10 +166,10 @@
// Устанавливает настройку удаления созданных тестовых данных // Устанавливает настройку удаления созданных тестовых данных
// В отличии от использования транзакции: // В отличии от использования транзакции:
// //
// * Умеет работь с данными созданными на клиенте // * Умеет работать с данными созданными на клиенте
// * Только удаляет созданные данные и не откатывает изменения объектов // * Только удаляет созданные данные и не откатывает изменения объектов
// * Работает с данными созданными через API работы с тестовыми данными // * Работает с данными созданными через API работы с тестовыми данными
// * Удаляет данные созданные вне теста (в обработчиках событий, например, ПередТестовымНабором) // * Удаляет данные созданные вне теста (в обработчиках событий, например, ПередВсемиТестами и ПередТестовымНабором)
// //
// Параметры: // Параметры:
// УдалятьСозданныеДанные - Булево // УдалятьСозданныеДанные - Булево

View File

@ -107,6 +107,7 @@
Ссылки = Новый Структура("Набор, Тест"); Ссылки = Новый Структура("Набор, Тест");
ЮТест.Контекст().УстановитьЗначение("Ссылки", Ссылки); ЮТест.Контекст().УстановитьЗначение("Ссылки", Ссылки);
СоздатьСсылку("Модуль", "Модуль"); // Если данные созданные в этом событии не удаляются то прогон в другом контексте долже упасть (на сервере)
КонецПроцедуры КонецПроцедуры