From e990cf8e50cfa8ce500c5c3a523fa6f9e6db5f6e Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 9 Dec 2024 16:08:59 +0300 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA=D0=B8=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2=20=D0=B8=D0=B7=20=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BC=D0=BE=D0=B4=D1=83?= =?UTF-8?q?=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 15 +++++ .../Module.bsl" | 66 ++++++++++++++++++- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index 123430dc0..5b4be64ba 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -59,6 +59,21 @@ КонецПроцедуры +Процедура ВыполнитьТестовыеМодули(ПараметрыЗапуска, ИсполняемыеМодули, ОбработчикЗавершения) Экспорт + + ПараметрыИсполнения = ПараметрыИсполнения(); + ПараметрыИсполнения.ПараметрыЗапуска = ПараметрыЗапуска; + ПараметрыИсполнения.ИсполняемыеТестовыеМодули = ИсполняемыеМодули; + + ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикИнициализация"); + ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикРазрешитьЗависимости"); + ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикВыполнитьТестирование"); + ПараметрыИсполнения.Цепочка.Добавить(ОбработчикЗавершения); + + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыИсполнения); + +КонецПроцедуры + Процедура ЗагрузитьЗарегистрированныеТесты(ПараметрыЗапуска, ОбработчикЗавершения) Экспорт ПараметрыИсполнения = ПараметрыИсполнения(); diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" index 70369845c..bc9536b07 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" @@ -159,7 +159,23 @@ Процедура ЗапуститьВыделенныеТесты(Команда) Модули = ВыделенныеТестовыеМодули(); - ВыполнитьТестовыеМодули(Модули); + Отказ = Ложь; + + ПередВыполнениемТестов(Модули, Отказ); + + Если Отказ Тогда + Возврат; + КонецЕсли; + + Обработчик = Новый ОписаниеОповещения("ПослеВыполненияВыделенныхМодулей", ЭтотОбъект); + ЮТИсполнительСлужебныйКлиент.ВыполнитьТестовыеМодули(ПараметрыЗапускаТестирования, Модули, Обработчик); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыполненияВыделенныхМодулей(Результат, ПараметрыИсполнения) Экспорт + + ПослеВыполненияТестов(Результат); КонецПроцедуры @@ -602,6 +618,54 @@ #Область ЗапускТестов +&НаКлиенте +Процедура ПередВыполнениемТестов(Модули, Отказ) + + Если Модули.Количество() = 0 Тогда + ПоказатьПредупреждение( , "Нет тестов для запуска"); + Отказ = Истина; + Возврат; + КонецЕсли; + + ОповещениеПользователю("Прогон тестов", "Запушено выполнение тестов"); + + Для Каждого Модуль Из Модули Цикл + СброситьСостояниеТестирования(Модуль); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыполненияТестов(Модули) + + Для Каждого Модуль Из Модули Цикл + + Для Каждого Набор Из Модуль.НаборыТестов Цикл + + Для Каждого Тест Из Набор.Тесты Цикл + + Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор); + ОтобразитьРезультатТеста(Строка, Тест, Набор); + + КонецЦикла; + + Строка = ДеревоТестов.НайтиПоИдентификатору(Набор.Идентификатор); + ЗаполнитьОшибки(Строка, Набор); + ОбновитьСтатистикуНабора(Строка); + + КонецЦикла; + + КонецЦикла; + + ОбновитьОбщуюСтатистику(Ложь); + + ЮТКонтекстСлужебный.УдалитьКонтекст(); + + ПриИзмененииТекущегоЭлементаДереваТестов(); + ОповещениеПользователю("Прогон тестов завершен", "Завершено выполнение тестов"); + +КонецПроцедуры + &НаКлиенте Процедура ВыполнитьТестовыеМодули(Модули) From 32639f115776b75497a9ad6678b33af12de08911 Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 9 Dec 2024 16:41:23 +0300 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE?= =?UTF-8?q?=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E,=20=D1=81=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=BE=D0=B9=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B1=D1=8B=D1=82=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 9 +++++++++ .../Module.bsl" | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a9e278438..5315de782 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -47,6 +47,15 @@ КонецФункции +Функция ПараметрыТестированияПоУмолчанию() Экспорт + + ПараметрыТестирования = ЮТФабрика.ПараметрыЗапуска(); + ЮТСобытияСлужебный.УстановитьПараметрыЗапускаПоУмолчанию(ПараметрыТестирования); + + Возврат ПараметрыТестирования; + +КонецФункции + Функция КлючЗапуска() Экспорт Возврат "RunUnitTests"; diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" index bc9536b07..434a8b029 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Module.bsl" @@ -555,7 +555,7 @@ Процедура ЗагрузитьТесты() Если ПараметрыЗапускаТестирования = Неопределено Тогда - ПараметрыЗапускаТестирования = ЮТФабрика.ПараметрыЗапуска(); + ПараметрыЗапускаТестирования = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию(); КонецЕсли; Обработчик = Новый ОписаниеОповещения("ПослеЗагрузкиТестов", ЭтотОбъект, ПараметрыЗапускаТестирования); @@ -868,7 +868,7 @@ &НаКлиенте Функция ПараметрыЗапуска() - ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска(); + ПараметрыЗапуска = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию(); ПараметрыЗапуска.closeAfterTests = Ложь; ПараметрыЗапуска.showReport = Ложь; ПараметрыЗапуска.ВыполнятьМодульноеТестирование = Истина; From 4f277460211f89d5c1eede0e734b5e05cbb9933f Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 9 Dec 2024 18:13:40 +0300 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" index ee05da949..35af5861a 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" @@ -37,19 +37,13 @@ Элементы.УровеньЛога.СписокВыбора.Добавить(УровеньЛог.Значение, УровеньЛог.Ключ); КонецЦикла; - Конфигурация = ЮТФабрика.ПараметрыЗапуска(); - ФорматОтчета = Конфигурация.reportFormat; - УровеньЛога = Конфигурация.logging.level; - ОтобразитьОтчет = Конфигурация.showReport; - ЗакрытьПослеТестирования = Конфигурация.closeAfterTests; - КаталогПроекта = Конфигурация.projectPath; - ЛогированиеВКонсоль = Конфигурация.logging.console; - КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) + УстановитьПараметрыПоУмолчанию(); + Обработчик = Новый ОписаниеОповещения("ОтобразитьДеревоТестов", ЭтотОбъект); ЮТИсполнительСлужебныйКлиент.ЗагрузитьЗарегистрированныеТесты(ЮТФабрика.ПараметрыЗапуска(), Обработчик); @@ -443,7 +437,7 @@ #Если ВебКлиент Тогда ВызватьИсключение "Сохранение конфигурации из веб-клиента не поддерживается"; #Иначе - Конфигурация = ЮТФабрика.ПараметрыЗапуска(); + Конфигурация = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию(); Конфигурация.Удалить("ВыполнятьМодульноеТестирование"); Конфигурация.showReport = ОтобразитьОтчет; @@ -579,4 +573,17 @@ КонецПроцедуры +&НаКлиенте +Процедура УстановитьПараметрыПоУмолчанию() + + Конфигурация = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию(); + ФорматОтчета = Конфигурация.reportFormat; + УровеньЛога = Конфигурация.logging.level; + ОтобразитьОтчет = Конфигурация.showReport; + ЗакрытьПослеТестирования = Конфигурация.closeAfterTests; + КаталогПроекта = Конфигурация.projectPath; + ЛогированиеВКонсоль = Конфигурация.logging.console; + +КонецПроцедуры + #КонецОбласти From 7db6de0ccbed1bb24d8ac2db0919b3420ab6484e Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 9 Dec 2024 18:13:57 +0300 Subject: [PATCH 4/4] =?UTF-8?q?test:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B0=D0=BD=D0=B3=D0=BB=20=D0=BB=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" index 396bf34c2..1050d0732 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" @@ -185,9 +185,12 @@ Варианты = ЮТКонструкторВариантов.Варианты("Р1, Р2, Р3"); + ТекстИсключения = СтрШаблон("Некорректный тип параметра `ЗначенияПараметра2` метода `ДобавитьКомбинации`. Метод принимает `%1`, а получили `%2`", + Тип("Массив"), + Тип("Число")); ЮТест.ОжидаетЧто(Варианты) .Метод("ДобавитьКомбинации", ЮТКоллекции.ЗначениеВМассиве(Новый Массив, 2, 3)) - .ВыбрасываетИсключение("Некорректный тип параметра `ЗначенияПараметра2` метода `ДобавитьКомбинации`. Метод принимает `Массив`, а получили `Число`") + .ВыбрасываетИсключение(ТекстИсключения) ; КонецПроцедуры