Конструктор движений документа
YAXUnit предоставляет мощный инструмент для создания тестовых данных — Конструктор движений документа (ЮТест.Данные()
.КонструкторДвижений
). Этот инструмент позволяет быстро и удобно формировать движения документов, что значительно упрощает процесс подготовки данных для тестов. Конструктор поддерживает работу с различными видами документов и регистров, а также автоматизирует генерацию фиктивных значений для реквизитов.
Основные возможности
- Текучий интерфейс: Удобная цепочка вызовов для формирования данных.
- Генерация фиктивных значений: Упрощает заполнение реквизитов, оставляя акцент на важных для теста данных.
- Поддержка обязательных полей: Автоматически заполняет обязательные реквизиты.
- Универсальность: Работает с любыми документами и регистрами движений.
- Работа с клиентом: Умеет создавать данные с клиента и удалять их по окончании теста.
- Обработка ошибок: Предоставляет понятные сообщения об ошибках.
Примеры использования
Кроме примеров ниже вы можете ознакомиться с тесты движка
Движения по регистру накопления
Рассмотрим пример формирования движений по регистру накопления "ОстаткиТоваров".
// Создаем пустой документ "ПриходнаяНакладная"
Документ = ЮТест.Данные().СоздатьДокумент("Документы.ПриходнаяНакладная");
// Формируем движения по регистру "ОстаткиТоваров"
ЮТест.Данные().КонструкторДвижений(Документ, "ОстаткиТоваров")
.ДобавитьСтроку()
.ФикцияРеквизитов("Номенклатура, Склад")
.Установить("Количество", 10)
.ДобавитьСтроку()
.ФикцияРеквизитов("Номенклатура, Склад")
.Установить("Количество", 5)
.Записать();
Движения по регистру накопления с разными видами операций
Док = ЮТест.Данные().СоздатьДокумент("Документы.ПеремещениеТоваров");
Товар = ЮТест.Данные().СоздатьЭлемент("Справочники.Номенклатура");
Количество = 100500;
// Создаем конструктор для регистра "ТоварныеЗапасы"
Конструктор = ЮТест.Данные().КонструкторДвижений(Док, "ТоварныеЗапасы");
// Приход на склад-получатель
Конструктор.ДобавитьСтроку()
.Установить("ВидДвижения", ВидДвиженияНакопления.Приход)
.Фикция("Склад")
.Установить("Товар", Товар)
.Установить("Количество", Количество);
// Расход со склада-отправителя
Конструктор.ДобавитьСтроку()
.Установить("ВидДвижения", ВидДвиженияНакопления.Расход)
.Фикция("Склад")
.Установить("Товар", Товар)
.Установить("Количество", Количество);
Конструктор.Записать();
// Проверка записанных движений
Движения = ЮТЗапросы.ДвиженияДокумента(Док, "ТоварныеЗапасы");
ЮТест.ОжидаетЧто(Движения)
.ИмеетДлину(2)
.Что(Движения[0].ВидДвижения).Равно(ВидДвиженияНакопления.Приход)
.Что(Движения[1].ВидДвижения).Равно(ВидДвиженияНакопления.Расход);