Skip to content

Commit

Permalink
Merge pull request #353 from bia-technologies/feature/61
Browse files Browse the repository at this point in the history
61 / Фильтрация тестов
  • Loading branch information
alkoleft authored May 17, 2024
2 parents 90ceabd + 87d60dc commit 8a207fb
Show file tree
Hide file tree
Showing 56 changed files with 1,057 additions and 402 deletions.
28 changes: 28 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
{
"cSpell.words": [
"абвгдеёжзийклмнопрстуфхцчшщъыьэюя",
"алиас",
"валидировать",
"гггг",
"гендером",
"Дозаполнить",
"замокированного",
"Инкрементирует",
"КоллекцияjUnit",
"логирвания",
"МассивjUnit",
"Ментейнер",
"моками",
"моки",
Expand All @@ -17,20 +25,40 @@
"Мокито",
"моков",
"Неопределено",
"ОКАТО",
"Переиспользование",
"Повт",
"помогаторы",
"пресетов",
"Регистронезависимое",
"релизный",
"Сериализатор",
"сериализацию",
"сериализуемыми",
"сериализуемых",
"СтрокуjUnit",
"СHTTP",
"ТИПЗНАЧЕНИЯ",
"фейкового",
"фейковых",
"фича",
"Человекочитаемое",
"юнит",
"ЮТHTTP",
"Addin",
"autonumber",
"bellerage",
"BSLLS",
"classname",
"consructor",
"dumpjson",
"Functest",
"jUnit",
"mindmap",
"tchk",
"testcase",
"testsuite",
"testsuites",
"Wiremock",
"XDTO",
"yaxunit"
Expand Down
9 changes: 4 additions & 5 deletions documentation/docs/getting-started/run/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@
|---------------|---------|-----------------------|------------------------------------------------------------------------------|
| `extensions` | `Array` | `["tests"]` | Список имен расширений, из которых грузятся тесты |
| `modules` | `Array` | `Null` | Список имен модулей, из которых грузятся тесты |
| `tests` | `Array` | `Null` | Список полных путей к исполняемым тестам (`[имя модуля.имя теста]`) |
| `suites` | `Array` | `Null` | **Не реализованно.** Список имен тестовых наборов, которые будут запускаться |
| `tags` | `Array` | `Null` | **Не реализованно.** Список тегов, которые будут запускаться |
| `tests` | `Array` | `Null` | Список полных путей к исполняемым тестам (`[имя модуля.имя теста{.Имя контекста}]`) |
| `suites` | `Array` | `Null` | Список имен тестовых наборов, которые будут запускаться |
| `tags` | `Array` | `Null` | Список тегов, которые будут запускаться |
| `contexts` | `Array` | `Null` | Список имен контекстов исполнения, в которых будут запускаться тесты |
| `paths` | `Array` | `Null` | **Не реализованно.** Список полных путей к исполняемым тестам |

## Параметры логирования

Expand All @@ -34,7 +33,7 @@
| `file` | `String` | `""` | Путь к файлу лога |
| `enable` | `Boolean` | `Null` | Использование логирвания.<br/>Если не указан, зависит от параметра `file` и `console`, если установлены - вкл, если нет - выкл |
| `console` | `Boolean` | `false` | Вывод лога в stdout (консоль) |
| `level` | `String` | `"debug"` | Уровень детализации лога. Возможные значения: `"debug"`, `"info"`, `"error"` |
| `level` | `String` | `"debug"` | Уровень детализации лога. Возможные значения: `"debug"`, `"info"`, `"warning"`, `"error"` |

Примеры:

Expand Down
6 changes: 1 addition & 5 deletions exts/yaxunit/.settings/Default.cset
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
{
"version": 1,
"settings": {
"common-module-type": {
"enabled": false
}
}
"settings": {}
}
2 changes: 1 addition & 1 deletion exts/yaxunit/src/CommonModules/Мокито/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
// BSLLS:NumberOfParams-on
// BSLLS:NumberOfOptionalParams-on

// Возврщает идентификатор значения входного параметра по умолчанию.
// Возвращает идентификатор значения входного параметра по умолчанию.
//
// Возвращаемое значение:
// Строка
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
// ОбщийМодуль - Этот же модуль, для замыкания
Функция КоличествоВызовов(ИмяМетода = Неопределено, ПараметрыВызова = Неопределено) Экспорт

СпозиционироватьсяНаМетоде(ИмяМетода, ПараметрыВызова);
ПозиционированиеНаМетоде(ИмяМетода, ПараметрыВызова);

Возврат МокитоПроверки;

Expand All @@ -53,7 +53,7 @@
// Массив из см. МокитоСлужебный.СтруктураВызоваМетода - Вызовы метода
Функция Вызовы(ИмяМетода = Неопределено, ПараметрыВызова = Неопределено) Экспорт

СпозиционироватьсяНаМетоде(ИмяМетода, ПараметрыВызова);
ПозиционированиеНаМетоде(ИмяМетода, ПараметрыВызова);

Возврат СтатистикаВызовов();

Expand Down Expand Up @@ -249,7 +249,7 @@

КонецФункции

Процедура СпозиционироватьсяНаМетоде(ИмяМетода = Неопределено, ПараметрыВызова = Неопределено)
Процедура ПозиционированиеНаМетоде(ИмяМетода = Неопределено, ПараметрыВызова = Неопределено)

Параметры = ПараметрыПроверки();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@

КонецФункции

// Возвращяет записи результат запроса
// Возвращает записи результат запроса
//
// Параметры:
// ОписаниеЗапроса - см. ЮТЗапросы.ОписаниеЗапроса
Expand Down
81 changes: 80 additions & 1 deletion exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,60 @@

КонецПроцедуры

// Создает новый массив путем объединения входных.
//
// Параметры:
// Коллекция1 - Массив Из Произвольный
// Коллекция2 - Массив Из Произвольный
// Коллекция3 - Массив Из Произвольный
// Коллекция4 - Массив Из Произвольный
//
// Возвращаемое значение:
// Массив из Произвольный - Результат объединения
Функция ОбъединитьМассивы(Коллекция1, Коллекция2, Коллекция3 = Неопределено, Коллекция4 = Неопределено) Экспорт

Коллекции = Новый Массив;
Если ЗначениеЗаполнено(Коллекция1) Тогда
Коллекции.Добавить(Коллекция1);
КонецЕсли;

Если ЗначениеЗаполнено(Коллекция2) Тогда
Коллекции.Добавить(Коллекция2);
КонецЕсли;

Если ЗначениеЗаполнено(Коллекция3) Тогда
Коллекции.Добавить(Коллекция3);
КонецЕсли;

Если ЗначениеЗаполнено(Коллекция4) Тогда
Коллекции.Добавить(Коллекция4);
КонецЕсли;

Если НЕ ЗначениеЗаполнено(Коллекции) Тогда
Возврат Новый Массив;
КонецЕсли;

Размер = 0;
Для Каждого Коллекция Из Коллекции Цикл
Размер = Размер + Коллекция.Количество();
КонецЦикла;

Результат = Новый Массив(Размер);
Позиция = 0;

Для Каждого Коллекция Из Коллекции Цикл
Размер = Размер + Коллекция.Количество();

Для Инд = 0 По Коллекция.ВГраница() Цикл
Результат[Позиция] = Коллекция[Инд];
Позиция = Позиция + 1;
КонецЦикла;
КонецЦикла;

Возврат Результат;

КонецФункции

// Создает копию экземпляра указанного объекта.
// Примечание:
// Функцию нельзя использовать для объектных типов (СправочникОбъект, ДокументОбъект и т.п.).
Expand Down Expand Up @@ -215,7 +269,7 @@
//
// Параметры:
// Коллекция - Произвольный - Итерируемая коллекция
// ИмяРеквизита - Строка - Имя реквизата элементов коллекции
// ИмяРеквизита - Строка - Имя реквизита элементов коллекции
//
// Возвращаемое значение:
// Массив из Произвольный
Expand Down Expand Up @@ -391,6 +445,31 @@

КонецФункции

// Создает структуру из массива.
// Ключами будут элементы массива, а значением каждого элемента структуры - параметр `ЗначениеСтруктуры`
//
// Параметры:
// Значения - Массив из Строка
// ЗначениеСтруктуры - Произвольный
//
// Возвращаемое значение:
// Структура
Функция МассивВСтруктуру(Значения, ЗначениеСтруктуры = Неопределено) Экспорт

Результат = Новый Структура();

Если НЕ ЗначениеЗаполнено(Значения) Тогда
Возврат Результат;
КонецЕсли;

Для Каждого Значение Из Значения Цикл
Результат.Вставить(Значение, ЗначениеСтруктуры);
КонецЦикла;

Возврат Результат;

КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@

КонецФункции

// Подключает внещнюю компоненту из макета
// Подключает внешнюю компоненту из макета
//
// Параметры:
// ИмяМакета - Строка - Имя макета, в котором хранится компонента
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
|<registry xmlns=""http://v8.1c.ru/8.2/addin/registry"">
| <component path=""%1"" type=""native""/>
|</registry>", ИмяФайла);
ИначеЕсли СтрНайти(ДанныеРеестра, СтрШаблон("path=""%1""", ИмяФайла)) <> 0 Тогда // Компонента уже зарегистрированна
ИначеЕсли СтрНайти(ДанныеРеестра, СтрШаблон("path=""%1""", ИмяФайла)) <> 0 Тогда // Компонента уже зарегистрирована
Возврат Ложь;
Иначе // Добавляем компоненту
Запись = СтрШаблон(" <component path=""%1"" type=""native""/>", ИмяФайла);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,9 @@
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
Процедура ПослеЧтенияСценариевМодуля(ОписаниеТестовогоМодуля) Экспорт

ЮТЛогирование.Информация(СтрШаблон("Загрузка сценариев модуля завершена `%1`", МетаданныеМодуля.Имя));
ЮТЛогирование.Информация(СтрШаблон("Загрузка сценариев модуля завершена `%1`", ОписаниеТестовогоМодуля.МетаданныеМодуля.Имя));

КонецПроцедуры

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@

КонецФункции

// Возвращяет набор регистров движений документа
// Возвращает набор регистров движений документа
//
// Параметры:
// Документ - ОбъектМетаданных
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
// ИмяНастройки - Строка - Имя настройки, см. ЮТФабрика.ПараметрыИсполненияТеста
// ЗначениеПоУмолчанию - Произвольный - Значение по умолчанию
// СтрогийУровеньИсполнения - Булево - Признак, стоит ли проверять наличие настройки у родительских элементов.
// Ложь - По умолчанию, будет выполнен поиск и получение значения для родетелей (набор, модуль), если значения для текущего элемента не установлено.
// Ложь - По умолчанию, будет выполнен поиск и получение значения для родителей (набор, модуль), если значения для текущего элемента не установлено.
// Истина - Получение настройки только для текущего элемента.
//
// Возвращаемое значение:
Expand Down
6 changes: 3 additions & 3 deletions exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@

#Область ДатаВремя

// Человекочитаемое представление продолжительности
// Формирует представление продолжительности в удобном для восприятия виде, с выделением минут секунд и тд.
//
// Параметры:
// Продолжительность - Число - Продолжительность в миллисекундах
Expand Down Expand Up @@ -335,7 +335,7 @@

КонецПроцедуры

// Преостанавливает поток выполнения на указанное количество секунд
// Приостанавливает поток выполнения на указанное количество секунд
//
// Параметры:
// Время - Число - Продолжительность паузы в секундах, возможно указывать дробное значение
Expand Down Expand Up @@ -376,7 +376,7 @@

КонецПроцедуры

// Возвращяет макет
// Возвращает макет
//
// Параметры:
// ИмяМакета - Строка - Возможные значения
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@
Для Каждого РезультатТеста Из Набор.Тесты Цикл

Попытка
СохранитьОтчетТеста(РезультатТеста, Набор, Модуль, Каталог);
Описание = ОписаниеТеста(РезультатТеста, Набор, Модуль);
СохранитьОтчетТеста(Описание, Каталог);
Исключение
ЮТЛогирование.Ошибка("Ошибка сохранения отчета в формате Allure. " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Expand All @@ -63,9 +64,7 @@
#Область СлужебныеПроцедурыИФункции

#Если НЕ ВебКлиент Тогда
Процедура СохранитьОтчетТеста(РезультатТеста, Набор, Модуль, Каталог)

Описание = ОписаниеТеста(РезультатТеста, Набор, Модуль);
Процедура СохранитьОтчетТеста(Описание, Каталог)

ИмяФайла = ЮТФайлы.ОбъединитьПути(Каталог, Описание.uuid + "-result.json");
Запись = Новый ЗаписьJSON();
Expand All @@ -81,6 +80,8 @@
ПредставлениеРежима = СтрШаблон(" [%1]", РезультатТеста.Режим);
ПолныйИдентификаторТеста = СтрШаблон("%1_%2_%3", РезультатТеста.НомерВНаборе, РезультатТеста.ПолноеИмяМетода, РезультатТеста.Режим);

Теги = ЮТОтчетСлужебныйКлиентСервер.УникальныеТеги(Модуль, Набор, РезультатТеста);

Описание = НовыйОписаниеТеста();
Описание.fullName = РезультатТеста.ПолноеИмяМетода + ПредставлениеРежима;
Описание.name = РезультатТеста.Метод + ПредставлениеРежима;
Expand Down Expand Up @@ -115,7 +116,7 @@

ДобавитьМетку(Описание, "tag", РезультатТеста.Режим);

Для Каждого Тег Из РезультатТеста.Теги Цикл
Для Каждого Тег Из Теги Цикл
ДобавитьМетку(Описание, "tag", Тег);
КонецЦикла;

Expand Down
Loading

0 comments on commit 8a207fb

Please sign in to comment.