Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

61 / Фильтрация тестов #353

Merged
merged 11 commits into from
May 17, 2024
Merged
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
Loading