Skip to content

Commit

Permalink
Merge pull request #456 from bia-technologies/feature/381
Browse files Browse the repository at this point in the history
381 / Изменен подход запуска тестов из формы отчета
  • Loading branch information
alkoleft authored Dec 9, 2024
2 parents 0d1bcf2 + 7db6de0 commit 4583cb4
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,21 @@

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

Процедура ВыполнитьТестовыеМодули(ПараметрыЗапуска, ИсполняемыеМодули, ОбработчикЗавершения) Экспорт

ПараметрыИсполнения = ПараметрыИсполнения();
ПараметрыИсполнения.ПараметрыЗапуска = ПараметрыЗапуска;
ПараметрыИсполнения.ИсполняемыеТестовыеМодули = ИсполняемыеМодули;

ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикИнициализация");
ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикРазрешитьЗависимости");
ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикВыполнитьТестирование");
ПараметрыИсполнения.Цепочка.Добавить(ОбработчикЗавершения);

ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыИсполнения);

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

Процедура ЗагрузитьЗарегистрированныеТесты(ПараметрыЗапуска, ОбработчикЗавершения) Экспорт

ПараметрыИсполнения = ПараметрыИсполнения();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,15 @@

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

Функция ПараметрыТестированияПоУмолчанию() Экспорт

ПараметрыТестирования = ЮТФабрика.ПараметрыЗапуска();
ЮТСобытияСлужебный.УстановитьПараметрыЗапускаПоУмолчанию(ПараметрыТестирования);

Возврат ПараметрыТестирования;

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

Функция КлючЗапуска() Экспорт

Возврат "RunUnitTests";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,23 @@
Процедура ЗапуститьВыделенныеТесты(Команда)

Модули = ВыделенныеТестовыеМодули();
ВыполнитьТестовыеМодули(Модули);
Отказ = Ложь;

ПередВыполнениемТестов(Модули, Отказ);

Если Отказ Тогда
Возврат;
КонецЕсли;

Обработчик = Новый ОписаниеОповещения("ПослеВыполненияВыделенныхМодулей", ЭтотОбъект);
ЮТИсполнительСлужебныйКлиент.ВыполнитьТестовыеМодули(ПараметрыЗапускаТестирования, Модули, Обработчик);

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

&НаКлиенте
Процедура ПослеВыполненияВыделенныхМодулей(Результат, ПараметрыИсполнения) Экспорт

ПослеВыполненияТестов(Результат);

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

Expand Down Expand Up @@ -539,7 +555,7 @@
Процедура ЗагрузитьТесты()

Если ПараметрыЗапускаТестирования = Неопределено Тогда
ПараметрыЗапускаТестирования = ЮТФабрика.ПараметрыЗапуска();
ПараметрыЗапускаТестирования = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию();
КонецЕсли;

Обработчик = Новый ОписаниеОповещения("ПослеЗагрузкиТестов", ЭтотОбъект, ПараметрыЗапускаТестирования);
Expand Down Expand Up @@ -602,6 +618,54 @@

#Область ЗапускТестов

&НаКлиенте
Процедура ПередВыполнениемТестов(Модули, Отказ)

Если Модули.Количество() = 0 Тогда
ПоказатьПредупреждение( , "Нет тестов для запуска");
Отказ = Истина;
Возврат;
КонецЕсли;

ОповещениеПользователю("Прогон тестов", "Запушено выполнение тестов");

Для Каждого Модуль Из Модули Цикл
СброситьСостояниеТестирования(Модуль);
КонецЦикла;

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

&НаКлиенте
Процедура ПослеВыполненияТестов(Модули)

Для Каждого Модуль Из Модули Цикл

Для Каждого Набор Из Модуль.НаборыТестов Цикл

Для Каждого Тест Из Набор.Тесты Цикл

Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор);
ОтобразитьРезультатТеста(Строка, Тест, Набор);

КонецЦикла;

Строка = ДеревоТестов.НайтиПоИдентификатору(Набор.Идентификатор);
ЗаполнитьОшибки(Строка, Набор);
ОбновитьСтатистикуНабора(Строка);

КонецЦикла;

КонецЦикла;

ОбновитьОбщуюСтатистику(Ложь);

ЮТКонтекстСлужебный.УдалитьКонтекст();

ПриИзмененииТекущегоЭлементаДереваТестов();
ОповещениеПользователю("Прогон тестов завершен", "Завершено выполнение тестов");

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

&НаКлиенте
Процедура ВыполнитьТестовыеМодули(Модули)

Expand Down Expand Up @@ -804,7 +868,7 @@
&НаКлиенте
Функция ПараметрыЗапуска()

ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска();
ПараметрыЗапуска = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию();
ПараметрыЗапуска.closeAfterTests = Ложь;
ПараметрыЗапуска.showReport = Ложь;
ПараметрыЗапуска.ВыполнятьМодульноеТестирование = Истина;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,13 @@
Элементы.УровеньЛога.СписокВыбора.Добавить(УровеньЛог.Значение, УровеньЛог.Ключ);
КонецЦикла;

Конфигурация = ЮТФабрика.ПараметрыЗапуска();
ФорматОтчета = Конфигурация.reportFormat;
УровеньЛога = Конфигурация.logging.level;
ОтобразитьОтчет = Конфигурация.showReport;
ЗакрытьПослеТестирования = Конфигурация.closeAfterTests;
КаталогПроекта = Конфигурация.projectPath;
ЛогированиеВКонсоль = Конфигурация.logging.console;

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)

УстановитьПараметрыПоУмолчанию();

Обработчик = Новый ОписаниеОповещения("ОтобразитьДеревоТестов", ЭтотОбъект);
ЮТИсполнительСлужебныйКлиент.ЗагрузитьЗарегистрированныеТесты(ЮТФабрика.ПараметрыЗапуска(), Обработчик);

Expand Down Expand Up @@ -443,7 +437,7 @@
#Если ВебКлиент Тогда
ВызватьИсключение "Сохранение конфигурации из веб-клиента не поддерживается";
#Иначе
Конфигурация = ЮТФабрика.ПараметрыЗапуска();
Конфигурация = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию();
Конфигурация.Удалить("ВыполнятьМодульноеТестирование");

Конфигурация.showReport = ОтобразитьОтчет;
Expand Down Expand Up @@ -579,4 +573,17 @@

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

&НаКлиенте
Процедура УстановитьПараметрыПоУмолчанию()

Конфигурация = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию();
ФорматОтчета = Конфигурация.reportFormat;
УровеньЛога = Конфигурация.logging.level;
ОтобразитьОтчет = Конфигурация.showReport;
ЗакрытьПослеТестирования = Конфигурация.closeAfterTests;
КаталогПроекта = Конфигурация.projectPath;
ЛогированиеВКонсоль = Конфигурация.logging.console;

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

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,12 @@

Варианты = ЮТКонструкторВариантов.Варианты("Р1, Р2, Р3");

ТекстИсключения = СтрШаблон("Некорректный тип параметра `ЗначенияПараметра2` метода `ДобавитьКомбинации`. Метод принимает `%1`, а получили `%2`",
Тип("Массив"),
Тип("Число"));
ЮТест.ОжидаетЧто(Варианты)
.Метод("ДобавитьКомбинации", ЮТКоллекции.ЗначениеВМассиве(Новый Массив, 2, 3))
.ВыбрасываетИсключение("Некорректный тип параметра `ЗначенияПараметра2` метода `ДобавитьКомбинации`. Метод принимает `Массив`, а получили `Число`")
.ВыбрасываетИсключение(ТекстИсключения)
;

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

0 comments on commit 4583cb4

Please sign in to comment.