1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-02-10 19:41:26 +02:00

#61 Вывод тегов в allure

This commit is contained in:
Aleksey Ko 2024-05-13 22:53:29 +03:00
parent d362162ea3
commit 535bdbbeee
8 changed files with 76 additions and 39 deletions

View File

@ -391,6 +391,24 @@
КонецФункции
Функция МассивВСтруктуру(Значения, ЗначениеСтруктуры = Неопределено) Экспорт
Результат = Новый Структура();
Если НЕ ЗначениеЗаполнено(Значения) Тогда
Возврат Результат;
КонецЕсли;
Для Каждого Значение Из Значения Цикл
Результат.Вставить(Значение, ЗначениеСтруктуры);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@ -38,12 +38,18 @@
#Иначе
Для Каждого Модуль Из РезультатВыполнения Цикл
ТегиМодуля = ЮТКоллекции.МассивВСтруктуру(Модуль.Теги);
Для Каждого Набор Из Модуль.НаборыТестов Цикл
ТегиНабора = ЮТКоллекции.МассивВСтруктуру(Модуль.Теги);
ЮТКоллекции.ДополнитьСтруктуру(ТегиНабора, ТегиМодуля);
Для Каждого РезультатТеста Из Набор.Тесты Цикл
Попытка
СохранитьОтчетТеста(РезультатТеста, Набор, Модуль, Каталог);
Описание = ОписаниеТеста(РезультатТеста, Набор, Модуль, ТегиНабора);
СохранитьОтчетТеста(Описание, Каталог);
Исключение
ЮТЛогирование.Ошибка("Ошибка сохранения отчета в формате Allure. " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
@ -63,9 +69,7 @@
#Область СлужебныеПроцедурыИФункции
#Если НЕ ВебКлиент Тогда
Процедура СохранитьОтчетТеста(РезультатТеста, Набор, Модуль, Каталог)
Описание = ОписаниеТеста(РезультатТеста, Набор, Модуль);
Процедура СохранитьОтчетТеста(Описание, Каталог)
ИмяФайла = ЮТФайлы.ОбъединитьПути(Каталог, Описание.uuid + "-result.json");
Запись = Новый ЗаписьJSON();
@ -75,7 +79,7 @@
КонецПроцедуры
Функция ОписаниеТеста(РезультатТеста, Набор, Модуль) Экспорт
Функция ОписаниеТеста(РезультатТеста, Набор, Модуль, ТегиНабора) Экспорт
Статусы = ЮТФабрика.СтатусыИсполненияТеста();
ПредставлениеРежима = СтрШаблон(" [%1]", РезультатТеста.Режим);
@ -115,8 +119,14 @@
ДобавитьМетку(Описание, "tag", РезультатТеста.Режим);
Для Каждого Элемент Из ТегиНабора Цикл
ДобавитьМетку(Описание, "tag", Элемент.Ключ);
КонецЦикла;
Для Каждого Тег Из РезультатТеста.Теги Цикл
ДобавитьМетку(Описание, "tag", Тег);
Если НЕ ТегиНабора.Свойство(Тег) Тогда
ДобавитьМетку(Описание, "tag", Тег);
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(РезультатТеста.Параметры) Тогда

View File

@ -224,7 +224,6 @@
Описание.Вставить("Имя", НаборТестов.Имя);
Описание.Вставить("Представление", НаборТестов.Представление);
Описание.Вставить("Теги", НаборТестов.Теги);
Описание.Вставить("Режим", "");
Описание.Вставить("ТестовыйМодуль", ТестовыйМодуль);
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
@ -270,7 +269,6 @@
Описание.Вставить("Имя", Представление);
Описание.Вставить("Метод", Тест.Имя);
Описание.Вставить("ПолноеИмяМетода", ПолноеИмяМетода);
Описание.Вставить("Теги", Тест.Теги);
Описание.Вставить("Режим", Режим);
Описание.Вставить("ДатаСтарта", 0);
Описание.Вставить("Длительность", 0);
@ -723,6 +721,7 @@
Описание.Вставить("Ошибки", ЮТКоллекции.СкопироватьМассив(РегистрируемыйОбъекта.Ошибки));
Описание.Вставить("НастройкиВыполнения", ЮТКоллекции.СкопироватьСтруктуру(РегистрируемыйОбъекта.НастройкиВыполнения));
Описание.Вставить("Зависимости", ЮТКоллекции.СкопироватьМассив(РегистрируемыйОбъекта.Зависимости));
Описание.Вставить("Теги", ЮТКоллекции.СкопироватьМассив(РегистрируемыйОбъекта.Теги));
Возврат Описание;

View File

@ -22,9 +22,9 @@
Контекст = ЮТКонтекстСлужебный.КонтекстЧитателя();
НормализованноеИмяРасширения = УдалитьНедопустимыеСимволыИзСтрокиКакКлючаСтруктуры(ИмяРасширения);
НормализованноеИмяРасширения = НРег(ИмяРасширения);
Возврат НЕ Контекст.Фильтр.ЕстьФильтрРасширений ИЛИ Контекст.Фильтр.Расширения.Свойство(НормализованноеИмяРасширения);
Возврат НЕ Контекст.Фильтр.ЕстьФильтрРасширений ИЛИ Контекст.Фильтр.Расширения[НормализованноеИмяРасширения] <> Неопределено;
КонецФункции
@ -137,8 +137,8 @@
Фильтр = Фильтр();
Фильтр.Расширения = МассивВСтруктуру(Расширения);
Фильтр.Модули = МассивВСтруктуру(Модули);
Фильтр.Расширения = МассивВСоответствие(Расширения);
Фильтр.Модули = ЮТКоллекции.МассивВСтруктуру(Модули);
Если Контексты = Неопределено Тогда
Фильтр.Контексты = ЮТФабрикаСлужебный.КонтекстыПриложения();
@ -147,7 +147,7 @@
КонецЕсли;
Если ЗначениеЗаполнено(Теги) Тогда
Фильтр.Теги = МассивВСтруктуру(Теги);
Фильтр.Теги = ЮТКоллекции.МассивВСтруктуру(Теги);
КонецЕсли;
Если ЗначениеЗаполнено(Наборы) Тогда
@ -200,30 +200,6 @@
#Область СлужебныеПроцедурыИФункции
Функция МассивВСтруктуру(Значения)
Результат = Новый Структура();
Если НЕ ЗначениеЗаполнено(Значения) Тогда
Возврат Результат;
КонецЕсли;
Для Каждого Значение Из Значения Цикл
НормализованноеЗначение = УдалитьНедопустимыеСимволыИзСтрокиКакКлючаСтруктуры(Значение);
Результат.Вставить(НормализованноеЗначение);
КонецЦикла;
Возврат Результат;
КонецФункции
Функция УдалитьНедопустимыеСимволыИзСтрокиКакКлючаСтруктуры(СтрокаКакКлюч)
// TODO Переработать. Не модифицировать значение
Возврат СтрЗаменить(СтрокаКакКлюч, ".", "");
КонецФункции
Функция ОписаниеИмениТеста(Путь)
Части = СтрРазделить(Путь, ".");
@ -358,4 +334,20 @@
КонецФункции
Функция МассивВСоответствие(Значения)
Результат = Новый Соответствие();
Если НЕ ЗначениеЗаполнено(Значения) Тогда
Возврат Результат;
КонецЕсли;
Для Каждого Значение Из Значения Цикл
Результат.Вставить(НРег(Значение), Истина);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти

View File

@ -24,6 +24,7 @@
.ДобавитьТест("ПараметрыГенерацииОтчета")
.ДобавитьТест("ЗаписатьОтчет")
.ДобавитьТест("ОписаниеТеста")
.ДобавитьТест("ОписаниеТеста_Теги")
;
КонецПроцедуры
@ -77,6 +78,22 @@
КонецПроцедуры
Процедура ОписаниеТеста_Теги() Экспорт
Модуль = ТестовыеДанные.ОписаниеТестовогоМодуля();
Набор = ТестовыеДанные.ОписаниеТестовогоНабора(Модуль);
Тест = ТестовыеДанные.ОписаниеТеста(Набор);
ТегиНабора = Новый Структура("Набор, Тег2, Тег3");
Тест.Теги = СтрРазделить("Тест, тег3, тег4", ", ", Ложь);
ОписаниеТеста = ЮТОтчетAllureСлужебный.ОписаниеТеста(Тест, Набор, Модуль, ТегиНабора);
Для Каждого Метка Из СтрРазделить("Набор, Тест, Тег2, Тег3, тег4", ", ", Ложь) Цикл
СодержитМетку(ОписаниеТеста, "tag", Метка);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@ -20,7 +20,7 @@
Процедура ИсполняемыеСценарии() Экспорт
ЮТТесты.УдалениеТестовыхДанных()
ЮТТесты.Тег("ТестовыеДанные").УдалениеТестовыхДанных()
.ДобавитьТест("Удалить")
.ДобавитьТест("ВариантыПараметров")
.ДобавитьТест("СоздатьГруппу")

View File

@ -23,7 +23,7 @@
КодТовара = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999));
Период = ТекущаяДата();
ЮТТесты.УдалениеТестовыхДанных()
ЮТТесты.Тег("ТестовыеДанные").УдалениеТестовыхДанных()
.ДобавитьТест("Фикция")
.СПараметрами(Новый ОписаниеТипов("Число"))
.СПараметрами(Новый ОписаниеТипов("Строка"))

View File

@ -39,6 +39,7 @@
Описание.Вставить("НаборыТестов", Новый Массив);
Описание.Вставить("Ошибки", Новый Массив);
Описание.Вставить("НастройкиВыполнения", Новый Структура);
Описание.Вставить("Теги", Новый Массив());
Описание.МетаданныеМодуля.Имя = СлучайнаяСтрокаЕслиНеопределено(ИмяМодуля);
Описание.МетаданныеМодуля.ПолноеИмя = ЮТТестовыеДанные.СлучайнаяСтрока() + "." + Описание.МетаданныеМодуля.Имя;