1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-03-17 20:48:01 +02:00

ORAIS-1278: Если в ИсполняемыеСценарии выпадает ошибка, то тесты просто не определяются и ошибка нигде не отображается.

This commit is contained in:
Зазулов Алексей Александрович (ЗК-0001393) 2024-02-29 17:15:12 +03:00 committed by Aleksey Ko
parent b79b3624f8
commit ce2bc60f50
2 changed files with 72 additions and 2 deletions

View File

@ -314,6 +314,7 @@
НаборыКонтекстов = Новый Структура;
ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(ТестовыйНабор, "Тесты", Новый Массив());
ОбработатьОшибкиЧтенияНабора(ТестовыйНабор, ТестовыйМодуль);
Для Каждого Тест Из ТестыНабора Цикл
@ -328,6 +329,9 @@
КонецЕсли;
ИсполняемыйТест = ЮТФабрика.ОписаниеИсполняемогоТеста(Тест, Контекст, ТестовыйМодуль);
Если Тест.Свойство("Ошибки") И Тест.Ошибки.Количество() > 0 Тогда
ИсполняемыйТест.Ошибки = ЮТОбщий.СкопироватьМассив(Тест.Ошибки);
КонецЕсли;
ИсполняемыйНабор.Тесты.Добавить(ИсполняемыйТест);
КонецЦикла;
@ -348,6 +352,31 @@
КонецФункции
Процедура ОбработатьОшибкиЧтенияНабора(Набор, Модуль)
ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(Набор, "Тесты", Новый Массив());
Ошибки = ЮТОбщий.ЗначениеСтруктуры(Набор, "Ошибки", Новый Массив());
Если Ошибки.Количество() > 0 Тогда
Для Каждого Ошибка Из Ошибки Цикл
Если Ошибка.ТипОшибки = ЮТФабрика.ТипыОшибок().ЧтенияТестов Тогда
Тест = ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка);
ТестыНабора.Добавить(Тест);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Функция ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка)
Контексты = ЮТФабрика.КонтекстыМодуля(Модуль.МетаданныеМодуля);
Тест = ЮТФабрика.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
Тест.Вставить("Ошибки", Новый Массив);
Тест.Ошибки.Добавить(ЮТОбщий.СкопироватьСтруктуру(Ошибка));
Возврат Тест;
КонецФункции
Процедура ПоказатьОтчет(РезультатыТестирования, Параметры)
Данные = Новый Структура("РезультатыТестирования, ПараметрыЗапуска", РезультатыТестирования, Параметры);

View File

@ -20,6 +20,11 @@
Процедура ИсполняемыеСценарии() Экспорт
Контекст = ЮТКонтекст.ДанныеКонтекста();
Если ЮТОбщий.ЗначениеСтруктуры(Контекст, ИмяРеквизитаПроверки(), Ложь) Тогда
ВызватьИсключение "Проверка чтения состава тестов";
КонецЕсли;
ЮТТесты
.ДобавитьТест("ИсполняемыеСценарииМодуля")
.ДобавитьТестовыйНабор("ЭтоТестовыйМодуль", "Параметризированный, 1,2")
@ -30,6 +35,8 @@
.СПараметрами("ЮТЧитатель", Ложь)
.ДобавитьТестовыйНабор("ЗагрузкаТестов")
.ДобавитьКлиентскийТест("ЗагрузитьТесты")
.ДобавитьТестовыйНабор("ИсполняемыеСценарииМодуляСОшибкойЧтения")
.ДобавитьТест("ИсполняемыеСценарииМодуляСОшибкойЧтения")
;
КонецПроцедуры
@ -67,7 +74,7 @@
ЮТест.ОжидаетЧто(НаборыТестов, "Наборы тестов модуля")
.ИмеетТип("Массив")
.ИмеетДлину(3);
.ИмеетДлину(4);
ЮТест.ОжидаетЧто(НаборыТестов[0], "Набор тестов по умолчанию")
.ИмеетТип("Структура")
@ -113,7 +120,7 @@
ЮТест.ОжидаетЧто(ОписаниеМодуля, "ОписаниеМодуля")
.ИмеетТип("Структура")
.Свойство("НаборыТестов")
.ИмеетДлину(3)
.ИмеетДлину(4)
.Элемент("НаборыТестов[0]").ИмеетТип("Структура")
.Элемент("НаборыТестов[1]").ИмеетТип("Структура")
.Элемент("НаборыТестов[2]").ИмеетТип("Структура")
@ -150,6 +157,32 @@
КонецПроцедуры
Процедура ИсполняемыеСценарииМодуляСОшибкойЧтения() Экспорт
ОписаниеМодуля = ЮТФабрика.ОписаниеМодуля();
ОписаниеМодуля.Имя = "ОМ_ЮТЧитатель";
ОписаниеМодуля.ПолноеИмя = "tests.ОМ_ЮТЧитатель";
ОписаниеМодуля.Расширение = "tests";
#Если Клиент Тогда
ОписаниеМодуля.КлиентУправляемоеПриложение = Истина;
ОписаниеМодуля.КлиентОбычноеПриложение = Истина;
#Иначе
ОписаниеМодуля.Сервер = Истина;
#КонецЕсли
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяРеквизитаПроверки(), Истина);
Результат = ЮТЧитатель.ИсполняемыеСценарииМодуля(ОписаниеМодуля);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Структура")
.Свойство("НаборыТестов")
.ИмеетДлину(1)
.Свойство("НаборыТестов[0].Ошибки")
.ИмеетДлину(1)
.Свойство("НаборыТестов[0].Ошибки[0].ТипОшибки")
.Равно(ЮТФабрика.ТипыОшибок().ЧтенияТестов)
;
КонецПроцедуры
Процедура ЭтоТестовыйМодуль(ИмяМодуля, ЭтоТестовый) Экспорт
ОписаниеМодуля = ЮТМетаданныеСервер.МетаданныеМодуля(ИмяМодуля);
@ -159,3 +192,11 @@
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ИмяРеквизитаПроверки()
Возврат "ПроверкаЧтенияСоставаТестов";
КонецФункции
#КонецОбласти