From 7a81596068b2f1af3b1729699948498b7fbd8c12 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 4 Aug 2023 02:14:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=82=D1=83=D1=81=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ЮТПараметрыЗапуска/Module.bsl | 3 +- .../ЮТЮнитТесты/Forms/Основная/Form.form | 64 +++--- .../ЮТЮнитТесты/Forms/Основная/Module.bsl | 210 +++++++++++------- 3 files changed, 165 insertions(+), 112 deletions(-) diff --git a/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl index 26bdc456..b4b2cd37 100644 --- a/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl @@ -94,7 +94,8 @@ Если ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Булево") Тогда Параметры.ВыполнятьМодульноеТестирование = ЗначениеКлючаЗапуска; - Возврат Параметры; + Параметры.showReport = Истина; + Параметры.closeAfterTests = Ложь; ИначеЕсли ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Строка") Тогда diff --git a/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Form.form b/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Form.form index 0e842d15..6e91542e 100644 --- a/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Form.form +++ b/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Form.form @@ -3,36 +3,6 @@ ОсновнаяКоманднаяПанель 122 - - ФормаСформироватьНастройки - 17 - true - true - - true - - - ФормаСформироватьНастройкиРасширеннаяПодсказка - 115 - true - true - - true - - Label - true - true - - Left - - - Form.Command.СформироватьНастройки - Auto - true - true - UserCmds - Auto - ГруппаЗапуск 140 @@ -256,6 +226,36 @@ Compact + + ФормаСформироватьНастройки + 17 + true + true + + true + + + ФормаСформироватьНастройкиРасширеннаяПодсказка + 115 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СформироватьНастройки + Auto + true + true + UserCmds + Auto + true true @@ -1746,11 +1746,15 @@ true + + StdPicture.ReportSettings + СформироватьНастройки + TextPicture DontUse diff --git a/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl b/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl index 5984c5ba..0abaf965 100644 --- a/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl +++ b/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl @@ -119,76 +119,26 @@ &НаКлиенте Процедура ЗапуститьВсеТесты(Команда) - ПараметрыЗапуска = ПараметрыЗапускаВсехТестов(); - ВыполнитьЗапускТестов(ПараметрыЗапуска); + ВыполнитьТестовыеМодули(ИсполняемыеТестовыеМодули); КонецПроцедуры &НаКлиенте Процедура ПерезапуститьУпавшиеТесты(Команда) - ПараметрыЗапуска = ПараметрыЗапускаУпавшихТестов(); - ВыполнитьЗапускТестов(ПараметрыЗапуска); + СтатусыИсполненияТеста = ЮТФабрика.СтатусыИсполненияТеста(); + Статусы = ЮТОбщий.ЗначениеВМассиве(СтатусыИсполненияТеста.Ошибка, СтатусыИсполненияТеста.Сломан); + + Модули = МодулиСоответствующиеСтатусу(Статусы); + ВыполнитьТестовыеМодули(Модули); КонецПроцедуры &НаКлиенте Процедура ЗапуститьВыделенныеТесты(Команда) - ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки; - - Если ВыделенныеСтроки.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - Для Каждого Модуль Из ИсполняемыеТестовыеМодули Цикл - - НаборыКЗапуску = Новый Массив(); - - Для Каждого Набор Из Модуль.НаборыТестов Цикл - - Если ВыделенныеСтроки.Найти(Набор.Идентификатор) <> Неопределено Тогда - НаборыКЗапуску.Добавить(Набор); - Продолжить; - КонецЕсли; - - ТестыКЗапуску = Новый Массив(); - - Для Каждого Тест Из Набор.Тесты Цикл - Если ВыделенныеСтроки.Найти(Тест.Идентификатор) <> Неопределено Тогда - ТестыКЗапуску.Добавить(Тест); - Продолжить; - КонецЕсли; - КонецЦикла; - - Если ТестыКЗапуску.Количество() Тогда - ЗапускаемыйНабор = ЮТОбщий.СкопироватьСтруктуру(Набор); - ЗапускаемыйНабор.Тесты = ТестыКЗапуску; - НаборыКЗапуску.Добавить(ЗапускаемыйНабор); - КонецЕсли; - - КонецЦикла; - - Если НаборыКЗапуску.Количество() Тогда - - ЗапускаемыйМодуль = ЮТОбщий.СкопироватьСтруктуру(Модуль); - ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску; - - Результат = ЮТИсполнительКлиент.ВыполнитьТестыМодуля(ЗапускаемыйМодуль); - - Для Каждого Набор Из Результат Цикл - - Для Каждого Тест Из Набор.Тесты Цикл - - Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор); - ОтобразитьРезультатТеста(Строка, Тест, Набор); - - КонецЦикла; - КонецЦикла; - - КонецЕсли; - - КонецЦикла; + Модули = ВыделенныеТестовыеМодули(); + ВыполнитьТестовыеМодули(Модули); КонецПроцедуры @@ -524,12 +474,129 @@ #Область ЗапускТестов &НаКлиенте -Процедура ВыполнитьЗапускТестов(ПараметрыЗапуска, Знач Обработчик = Неопределено) +Процедура ВыполнитьТестовыеМодули(Модули) - Если Обработчик = Неопределено Тогда - Обработчик = Новый ОписаниеОповещения("ОбновитьСтатусТестирования", ЭтотОбъект); + Для Каждого Модуль Из Модули Цикл + + Результат = ЮТИсполнительКлиент.ВыполнитьТестыМодуля(Модуль); + + Для Каждого Набор Из Результат Цикл + + Для Каждого Тест Из Набор.Тесты Цикл + + Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор); + ОтобразитьРезультатТеста(Строка, Тест, Набор); + + КонецЦикла; + + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Функция ВыделенныеТестовыеМодули() + + МодулиКЗапуску = Новый Массив(); + + ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки; + + Если ВыделенныеСтроки.Количество() = 0 Тогда + Возврат МодулиКЗапуску; КонецЕсли; + Для Каждого Модуль Из ИсполняемыеТестовыеМодули Цикл + + НаборыКЗапуску = Новый Массив(); + + Для Каждого Набор Из Модуль.НаборыТестов Цикл + + Если ВыделенныеСтроки.Найти(Набор.Идентификатор) <> Неопределено Тогда + НаборыКЗапуску.Добавить(Набор); + Продолжить; + КонецЕсли; + + ТестыКЗапуску = Новый Массив(); + + Для Каждого Тест Из Набор.Тесты Цикл + Если ВыделенныеСтроки.Найти(Тест.Идентификатор) <> Неопределено Тогда + ТестыКЗапуску.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Если ТестыКЗапуску.Количество() Тогда + ЗапускаемыйНабор = ЮТОбщий.СкопироватьСтруктуру(Набор); + ЗапускаемыйНабор.Тесты = ТестыКЗапуску; + НаборыКЗапуску.Добавить(ЗапускаемыйНабор); + КонецЕсли; + + КонецЦикла; + + Если НаборыКЗапуску.Количество() Тогда + + ЗапускаемыйМодуль = ЮТОбщий.СкопироватьСтруктуру(Модуль); + ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску; + МодулиКЗапуску.Добавить(ЗапускаемыйМодуль); + + КонецЕсли; + + КонецЦикла; + + Возврат МодулиКЗапуску; + +КонецФункции + +&НаКлиенте +Функция МодулиСоответствующиеСтатусу(Статусы) + + МодулиКЗапуску = Новый Массив(); + + ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки; + + Если ВыделенныеСтроки.Количество() = 0 Тогда + Возврат МодулиКЗапуску; + КонецЕсли; + + Для Каждого Модуль Из ИсполняемыеТестовыеМодули Цикл + + НаборыКЗапуску = Новый Массив(); + + Для Каждого Набор Из Модуль.НаборыТестов Цикл + + ТестыКЗапуску = Новый Массив(); + + Для Каждого Тест Из Набор.Тесты Цикл + Если Статусы.Найти(Тест.Статус) <> Неопределено Тогда + ТестыКЗапуску.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Если ТестыКЗапуску.Количество() Тогда + ЗапускаемыйНабор = ЮТОбщий.СкопироватьСтруктуру(Набор); + ЗапускаемыйНабор.Тесты = ТестыКЗапуску; + НаборыКЗапуску.Добавить(ЗапускаемыйНабор); + КонецЕсли; + + КонецЦикла; + + Если НаборыКЗапуску.Количество() Тогда + + ЗапускаемыйМодуль = ЮТОбщий.СкопироватьСтруктуру(Модуль); + ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску; + МодулиКЗапуску.Добавить(ЗапускаемыйМодуль); + + КонецЕсли; + + КонецЦикла; + + Возврат МодулиКЗапуску; + +КонецФункции + +&НаКлиенте +Процедура ВыполнитьЗапускТестовПоПараметрам(ПараметрыЗапуска, Обработчик) + ЮТИсполнительКлиент.ВыполнитьМодульноеТестированиеПоНастройке(ПараметрыЗапуска, Обработчик); КонецПроцедуры @@ -550,20 +617,6 @@ КонецФункции -&НаКлиенте -Функция ПараметрыЗапускаВсехТестов() - - Возврат ПараметрыЗапуска(); - -КонецФункции - -&НаКлиенте -Функция ПараметрыЗапускаУпавшихТестов() - - Возврат ПараметрыЗапуска(); - -КонецФункции - #КонецОбласти &НаКлиенте Процедура ОбновитьДоступностьСравнения() @@ -603,7 +656,7 @@ Обработчик = Новый ОписаниеОповещения("ПослеВыполненияИтерации", ЭтотОбъект, ПараметрыЗамера); ПараметрыЗамера.НачалоИтерации = ТекущаяУниверсальнаяДатаВМиллисекундах(); - ВыполнитьЗапускТестов(ПараметрыЗамера.ПараметрыЗапуска, Обработчик); + ВыполнитьЗапускТестовПоПараметрам(ПараметрыЗамера.ПараметрыЗапуска, Обработчик); Иначе @@ -631,9 +684,4 @@ КонецПроцедуры -&НаКлиенте -Процедура ОбновитьСтатусТестирования(Результат, ПараметрыЗамера) Экспорт - -КонецПроцедуры - #КонецОбласти