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/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 70369845c..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" @@ -159,7 +159,23 @@ Процедура ЗапуститьВыделенныеТесты(Команда) Модули = ВыделенныеТестовыеМодули(); - ВыполнитьТестовыеМодули(Модули); + Отказ = Ложь; + + ПередВыполнениемТестов(Модули, Отказ); + + Если Отказ Тогда + Возврат; + КонецЕсли; + + Обработчик = Новый ОписаниеОповещения("ПослеВыполненияВыделенныхМодулей", ЭтотОбъект); + ЮТИсполнительСлужебныйКлиент.ВыполнитьТестовыеМодули(ПараметрыЗапускаТестирования, Модули, Обработчик); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыполненияВыделенныхМодулей(Результат, ПараметрыИсполнения) Экспорт + + ПослеВыполненияТестов(Результат); КонецПроцедуры @@ -539,7 +555,7 @@ Процедура ЗагрузитьТесты() Если ПараметрыЗапускаТестирования = Неопределено Тогда - ПараметрыЗапускаТестирования = ЮТФабрика.ПараметрыЗапуска(); + ПараметрыЗапускаТестирования = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию(); КонецЕсли; Обработчик = Новый ОписаниеОповещения("ПослеЗагрузкиТестов", ЭтотОбъект, ПараметрыЗапускаТестирования); @@ -602,6 +618,54 @@ #Область ЗапускТестов +&НаКлиенте +Процедура ПередВыполнениемТестов(Модули, Отказ) + + Если Модули.Количество() = 0 Тогда + ПоказатьПредупреждение( , "Нет тестов для запуска"); + Отказ = Истина; + Возврат; + КонецЕсли; + + ОповещениеПользователю("Прогон тестов", "Запушено выполнение тестов"); + + Для Каждого Модуль Из Модули Цикл + СброситьСостояниеТестирования(Модуль); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыполненияТестов(Модули) + + Для Каждого Модуль Из Модули Цикл + + Для Каждого Набор Из Модуль.НаборыТестов Цикл + + Для Каждого Тест Из Набор.Тесты Цикл + + Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор); + ОтобразитьРезультатТеста(Строка, Тест, Набор); + + КонецЦикла; + + Строка = ДеревоТестов.НайтиПоИдентификатору(Набор.Идентификатор); + ЗаполнитьОшибки(Строка, Набор); + ОбновитьСтатистикуНабора(Строка); + + КонецЦикла; + + КонецЦикла; + + ОбновитьОбщуюСтатистику(Ложь); + + ЮТКонтекстСлужебный.УдалитьКонтекст(); + + ПриИзмененииТекущегоЭлементаДереваТестов(); + ОповещениеПользователю("Прогон тестов завершен", "Завершено выполнение тестов"); + +КонецПроцедуры + &НаКлиенте Процедура ВыполнитьТестовыеМодули(Модули) @@ -804,7 +868,7 @@ &НаКлиенте Функция ПараметрыЗапуска() - ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска(); + ПараметрыЗапуска = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию(); ПараметрыЗапуска.closeAfterTests = Ложь; ПараметрыЗапуска.showReport = Ложь; ПараметрыЗапуска.ВыполнятьМодульноеТестирование = Истина; 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; + +КонецПроцедуры + #КонецОбласти 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` метода `ДобавитьКомбинации`. Метод принимает `Массив`, а получили `Число`") + .ВыбрасываетИсключение(ТекстИсключения) ; КонецПроцедуры