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

#61 Вывод тегов не являющихся идентификаторами (содержащими проблеы и тд)

This commit is contained in:
Aleksey Ko 2024-05-14 17:48:49 +03:00
parent 535bdbbeee
commit c23423d910
6 changed files with 128 additions and 18 deletions

View File

@ -70,6 +70,60 @@
КонецПроцедуры
// Содает новый массив путем объединия входных.
//
// Параметры:
// Коллекция1 - Массив Из Произвольный
// Коллекция2 - Массив Из Произвольный
// Коллекция3 - Массив Из Произвольный
// Коллекция4 - Массив Из Произвольный
//
// Возвращаемое значение:
// Массив из Произвольный - Результат объединения
Функция ОбъединитьМассивы(Коллекция1, Коллекция2, Коллекция3 = Неопределено, Коллекция4 = Неопределено) Экспорт
Коллекции = Новый Массив;
Если ЗначениеЗаполнено(Коллекция1) Тогда
Коллекции.Добавить(Коллекция1);
КонецЕсли;
Если ЗначениеЗаполнено(Коллекция2) Тогда
Коллекции.Добавить(Коллекция2);
КонецЕсли;
Если ЗначениеЗаполнено(Коллекция3) Тогда
Коллекции.Добавить(Коллекция3);
КонецЕсли;
Если ЗначениеЗаполнено(Коллекция4) Тогда
Коллекции.Добавить(Коллекция4);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Коллекции) Тогда
Возврат Новый Массив;
КонецЕсли;
Размер = 0;
Для Каждого Коллекция Из Коллекции Цикл
Размер = Размер + Коллекция.Количество();
КонецЦикла;
Результат = Новый Массив(Размер);
Позиция = 0;
Для Каждого Коллекция Из Коллекции Цикл
Размер = Размер + Коллекция.Количество();
Для Инд = 0 По Коллекция.ВГраница() Цикл
Результат[Позиция] = Коллекция[Инд];
Позиция = Позиция + 1;
КонецЦикла;
КонецЦикла;
Возврат Результат;
КонецФункции
// Создает копию экземпляра указанного объекта.
// Примечание:
// Функцию нельзя использовать для объектных типов (СправочникОбъект, ДокументОбъект и т.п.).

View File

@ -38,17 +38,12 @@
#Иначе
Для Каждого Модуль Из РезультатВыполнения Цикл
ТегиМодуля = ЮТКоллекции.МассивВСтруктуру(Модуль.Теги);
Для Каждого Набор Из Модуль.НаборыТестов Цикл
ТегиНабора = ЮТКоллекции.МассивВСтруктуру(Модуль.Теги);
ЮТКоллекции.ДополнитьСтруктуру(ТегиНабора, ТегиМодуля);
Для Каждого РезультатТеста Из Набор.Тесты Цикл
Попытка
Описание = ОписаниеТеста(РезультатТеста, Набор, Модуль, ТегиНабора);
Описание = ОписаниеТеста(РезультатТеста, Набор, Модуль);
СохранитьОтчетТеста(Описание, Каталог);
Исключение
ЮТЛогирование.Ошибка("Ошибка сохранения отчета в формате Allure. " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
@ -79,12 +74,15 @@
КонецПроцедуры
Функция ОписаниеТеста(РезультатТеста, Набор, Модуль, ТегиНабора) Экспорт
Функция ОписаниеТеста(РезультатТеста, Набор, Модуль) Экспорт
Статусы = ЮТФабрика.СтатусыИсполненияТеста();
ПредставлениеРежима = СтрШаблон(" [%1]", РезультатТеста.Режим);
ПолныйИдентификаторТеста = СтрШаблон("%1_%2_%3", РезультатТеста.НомерВНаборе, РезультатТеста.ПолноеИмяМетода, РезультатТеста.Режим);
Теги = ЮТКоллекции.ОбъединитьМассивы(Модуль.Теги, Набор.Теги, РезультатТеста.Теги);
Теги = ЮТСтроки.УникальныеСтроки(Теги);
Описание = НовыйОписаниеТеста();
Описание.fullName = РезультатТеста.ПолноеИмяМетода + ПредставлениеРежима;
Описание.name = РезультатТеста.Метод + ПредставлениеРежима;
@ -119,14 +117,8 @@
ДобавитьМетку(Описание, "tag", РезультатТеста.Режим);
Для Каждого Элемент Из ТегиНабора Цикл
ДобавитьМетку(Описание, "tag", Элемент.Ключ);
КонецЦикла;
Для Каждого Тег Из РезультатТеста.Теги Цикл
Если НЕ ТегиНабора.Свойство(Тег) Тогда
ДобавитьМетку(Описание, "tag", Тег);
КонецЕсли;
Для Каждого Тег Из Теги Цикл
ДобавитьМетку(Описание, "tag", Тег);
КонецЦикла;
Если ЗначениеЗаполнено(РезультатТеста.Параметры) Тогда

View File

@ -246,6 +246,36 @@
КонецФункции
// Из набора строк формирует набор уникальных строк.
// Сравнение происходит без учета регистра.
//
// Параметры:
// НеУникальныеСтроки - Массив Из Строка
//
// Возвращаемое значение:
// Массив Из Строка - Уникальные строки
Функция УникальныеСтроки(НеУникальныеСтроки) Экспорт
Если НЕ ЗначениеЗаполнено(НеУникальныеСтроки) Тогда
Возврат НеУникальныеСтроки;
КонецЕсли;
Хэш = Новый Соответствие();
Результат = Новый Массив;
Для Каждого Строка Из НеУникальныеСтроки Цикл
Ключ = НРег(Строка);
Если Хэш[Ключ] = Неопределено Тогда
Результат.Добавить(Строка);
Хэш.Вставить(Ключ, 1);
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@ -35,6 +35,7 @@
.ДобавитьТест("ВСоответствие")
.ДобавитьТест("ВСтруктуру")
.ДобавитьТест("ПредставлениеМассива")
.ДобавитьТест("ОбъединитьМассивы")
;
КонецПроцедуры
@ -416,6 +417,22 @@
КонецПроцедуры
Процедура ОбъединитьМассивы() Экспорт
Коллекция1 = ЮТКоллекции.ЗначениеВМассиве(1, 2);
Коллекция2 = Новый Массив;
Коллекция3 = ЮТКоллекции.ЗначениеВМассиве(3);
Коллекция4 = ЮТКоллекции.ЗначениеВМассиве(4, 5);
Результат = ЮТКоллекции.ОбъединитьМассивы(Коллекция1, Коллекция2, Коллекция3, Коллекция4);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Массив")
.Заполнено()
.Равно(ЮТКоллекции.ЗначениеВМассиве(1, 2, 3, 4, 5))
.ИмеетДлину(5);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@ -43,6 +43,8 @@
Процедура ЗаписатьОтчет() Экспорт
РезультатТестирования = ТестовыеДанные.РезультатТестирования();
РезультатТестирования[0].Теги = ЮТКоллекции.ЗначениеВМассиве("Тестовый модуль");
Каталог = ЮТест.Данные().НовоеИмяВременногоФайла();
СоздатьКаталог(Каталог);
Формат = ЮТОтчетAllureСлужебный.ПараметрыГенерацииОтчета().Форматы.allure;
@ -84,11 +86,12 @@
Набор = ТестовыеДанные.ОписаниеТестовогоНабора(Модуль);
Тест = ТестовыеДанные.ОписаниеТеста(Набор);
ТегиНабора = Новый Структура("Набор, Тег2, Тег3");
Модуль.Теги = ЮТСтроки.РазделитьСтроку("Модуль, Тег1, Тег 2", ",");
Набор.Теги = ЮТСтроки.РазделитьСтроку("Набор, ТЕГ 2, Тег3", ",");
Тест.Теги = СтрРазделить("Тест, тег3, тег4", ", ", Ложь);
ОписаниеТеста = ЮТОтчетAllureСлужебный.ОписаниеТеста(Тест, Набор, Модуль, ТегиНабора);
ОписаниеТеста = ЮТОтчетAllureСлужебный.ОписаниеТеста(Тест, Набор, Модуль);
Для Каждого Метка Из СтрРазделить("Набор, Тест, Тег2, Тег3, тег4", ", ", Ложь) Цикл
Для Каждого Метка Из ЮТСтроки.РазделитьСтроку("Модуль, Набор, Тест, Тег 2, Тег3, тег4", ",") Цикл
СодержитМетку(ОписаниеТеста, "tag", Метка);
КонецЦикла;

View File

@ -24,6 +24,7 @@
.ДобавитьТест("ДобавитьСтроку")
.ДобавитьТест("СтрокаСимволов")
.ДобавитьТест("СравнитьВерсии")
.ДобавитьТест("УникальныеСтроки")
;
КонецПроцедуры
@ -87,6 +88,19 @@
КонецПроцедуры
Процедура УникальныеСтроки() Экспорт
Вход = СтрРазделить("Раз,раз, раз,проверка", ",");
ЮТест.ОжидаетЧто(ЮТСтроки.УникальныеСтроки(Вход))
.Содержит("Раз")
.НеСодержит("раз")
.Содержит(" раз")
.Содержит("проверка")
.ИмеетДлину(3);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции