From c4f7891d09a762b8c0f0f022faa7648f8d4237a3 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Thu, 31 Aug 2023 01:23:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=81=D0=BE=D0=BD=D0=B0=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ЮТИсполнительКлиент/Module.bsl | 74 ++++++++++--------- .../ЮТМетаданныеСервер/Module.bsl | 15 ++-- .../ЮТЮнитТесты/Forms/Основная/Module.bsl | 16 ++-- tests/src/CommonModules/ОМ_Общий/Module.bsl | 2 +- 4 files changed, 56 insertions(+), 51 deletions(-) diff --git a/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl index 7f98e02c..c866c0af 100644 --- a/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl @@ -166,7 +166,6 @@ Для Каждого ТестовыйМодуль Из ТестовыеМодули Цикл ИсполняемыйТестовыйМодуль = ИсполняемыйТестовыйМодуль(ТестовыйМодуль); ИсполняемыеТестовыеМодули.Добавить(ИсполняемыйТестовыйМодуль); - // TODO КонецЦикла; ЮТСобытия.ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули); @@ -288,6 +287,43 @@ ИсполняемыйТестовыйМодуль = ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль); + КонтекстыПриложения = ЮТФабрика.КонтекстыПриложения(); + КонтекстыМодуля = ЮТФабрика.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля); + КонтекстыИсполнения = ЮТФабрика.КонтекстыИсполнения(); + + ИсполняемыйТестовыйМодуль.НаборыТестов = ИсполняемыеНаборыМодуля(ТестовыйМодуль); + + Для Каждого Набор Из ИсполняемыйТестовыйМодуль.НаборыТестов Цикл + + КонтекстИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим); + + ОшибкаКонтекста = Неопределено; + Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда + ОшибкаКонтекста = "Неподдерживаемый режим запуска"; + ИначеЕсли КонтекстыМодуля.Найти(Набор.Режим) = Неопределено Тогда + ОшибкаКонтекста = "Модуль не доступен в этом контексте"; + ИначеЕсли КонтекстИсполнения <> КонтекстыИсполнения.Сервер И КонтекстИсполнения <> КонтекстыИсполнения.Клиент Тогда + ОшибкаКонтекста = "Неизвестный контекст/режим исполнения"; + КонецЕсли; + + Если ОшибкаКонтекста <> Неопределено Тогда + Набор.Выполнять = Ложь; + ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Набор, ОшибкаКонтекста); + Для Каждого Тест Из Набор.Тесты Цикл + ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Тест, ОшибкаКонтекста); + КонецЦикла; + КонецЕсли; + + КонецЦикла; + + Возврат ИсполняемыйТестовыйМодуль; + +КонецФункции + +Функция ИсполняемыеНаборыМодуля(ТестовыйМодуль) + + Результат = Новый Массив(); + Для Каждого ТестовыйНабор Из ТестовыйМодуль.НаборыТестов Цикл НаборыКонтекстов = Новый Структура; @@ -316,46 +352,14 @@ Если НаборыКонтекстов.Количество() Тогда Для Каждого Элемент Из НаборыКонтекстов Цикл - ИсполняемыйТестовыйМодуль.НаборыТестов.Добавить(Элемент.Значение); + Результат.Добавить(Элемент.Значение); КонецЦикла; - Иначе - - // TODO. Корякин А. 2021.11.24 А надо ли добавлять при отсутствии тестов - ИсполняемыйТестовыйМодуль.НаборыТестов.Добавить(ЮТФабрика.ОписаниеИсполняемогоНабораТестов(ТестовыйНабор, ТестовыйМодуль)); - КонецЕсли; КонецЦикла; - КонтекстыПриложения = ЮТФабрика.КонтекстыПриложения(); - КонтекстыМодуля = ЮТФабрика.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля); - КонтекстыИсполнения = ЮТФабрика.КонтекстыИсполнения(); - - Для Каждого Набор Из ИсполняемыйТестовыйМодуль.НаборыТестов Цикл - - КонтекстИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим); - - ОшибкаКонтекста = Неопределено; - Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда - ОшибкаКонтекста = "Неподдерживаемый режим запуска"; - ИначеЕсли КонтекстыМодуля.Найти(Набор.Режим) = Неопределено Тогда - ОшибкаКонтекста = "Модуль не доступен в этом контексте"; - ИначеЕсли КонтекстИсполнения <> КонтекстыИсполнения.Сервер И КонтекстИсполнения <> КонтекстыИсполнения.Клиент Тогда - ОшибкаКонтекста = "Неизвестный контекст/режим исполнения"; - КонецЕсли; - - Если ОшибкаКонтекста <> Неопределено Тогда - Набор.Выполнять = Ложь; - ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Набор, ОшибкаКонтекста); - Для Каждого Тест Из Набор.Тесты Цикл - ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Тест, ОшибкаКонтекста); - КонецЦикла; - КонецЕсли; - - КонецЦикла; - - Возврат ИсполняемыйТестовыйМодуль; + Возврат Результат; КонецФункции diff --git a/exts/yaxunit/src/CommonModules/ЮТМетаданныеСервер/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТМетаданныеСервер/Module.bsl index 8e209a04..389663a4 100644 --- a/exts/yaxunit/src/CommonModules/ЮТМетаданныеСервер/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТМетаданныеСервер/Module.bsl @@ -70,14 +70,15 @@ Если Метаданные.ОбщиеМодули.Содержит(Объект) Тогда - Если Серверные И Клиентские Тогда + Добавить = (Серверные И Клиентские) + ИЛИ (Серверные И (Объект.Сервер)) + ИЛИ (Клиентские И (Объект.КлиентУправляемоеПриложение Или Объект.ВызовСервера)); + // КлиентОбычноеПриложение сознательно не анализируется, он должен идти в паре с другой настройкой + + Если Добавить Тогда Модули.Добавить(Объект.Имя); - ИначеЕсли Серверные И (Объект.Сервер) Тогда - Модули.Добавить(Объект.Имя); - ИначеЕсли Клиентские И (Объект.КлиентУправляемоеПриложение Или Объект.ВызовСервера) Тогда - Модули.Добавить(Объект.Имя); - КонецЕсли; // КлиентОбычноеПриложение сознательно не анализируется, он должен идти в паре с другой настройкой - + КонецЕсли; + КонецЕсли; КонецЦикла; diff --git a/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl b/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl index 32cdf645..d86639e4 100644 --- a/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl +++ b/exts/yaxunit/src/DataProcessors/ЮТЮнитТесты/Forms/Основная/Module.bsl @@ -32,9 +32,7 @@ Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("АдресХранилища") И ЭтоАдресВременногоХранилища(Параметры.АдресХранилища) Тогда - АдресОтчета = Параметры.АдресХранилища; - КонецЕсли; Параметры.Свойство("ЗагрузитьТесты", ЗагрузитьТестыПриОткрытии); @@ -416,12 +414,14 @@ Функция БлокиСтатистики(Статистика) Блоки = Новый Массив(); - Блоки.Добавить(Новый Структура("Количество, Цвет", Статистика.Успешно, "25AE88")); - Блоки.Добавить(Новый Структура("Количество, Цвет", Статистика.Пропущено, "999999")); - Блоки.Добавить(Новый Структура("Количество, Цвет", Статистика.Упало, "EFCE4A")); - Блоки.Добавить(Новый Структура("Количество, Цвет", Статистика.Сломано, "D75A4A")); - Блоки.Добавить(Новый Структура("Количество, Цвет", Статистика.Ожидание, "BBBBBB")); - Блоки.Добавить(Новый Структура("Количество, Цвет", Статистика.Неизвестно, "9400d3")); + Ключи = "Количество, Цвет"; + + Блоки.Добавить(Новый Структура(Ключи, Статистика.Успешно, "25AE88")); + Блоки.Добавить(Новый Структура(Ключи, Статистика.Пропущено, "999999")); + Блоки.Добавить(Новый Структура(Ключи, Статистика.Упало, "EFCE4A")); + Блоки.Добавить(Новый Структура(Ключи, Статистика.Сломано, "D75A4A")); + Блоки.Добавить(Новый Структура(Ключи, Статистика.Ожидание, "BBBBBB")); + Блоки.Добавить(Новый Структура(Ключи, Статистика.Неизвестно, "9400d3")); Сдвиг = 0; Высота = 20; diff --git a/tests/src/CommonModules/ОМ_Общий/Module.bsl b/tests/src/CommonModules/ОМ_Общий/Module.bsl index 46b0d869..6005d85d 100644 --- a/tests/src/CommonModules/ОМ_Общий/Module.bsl +++ b/tests/src/CommonModules/ОМ_Общий/Module.bsl @@ -40,7 +40,7 @@ Дельта = ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало; ЮТест.ОжидаетЧто(Дельта) - .МеждуИсключаяГраницы(3000, 3050); + .МеждуИсключаяГраницы(3000, 3200); КонецПроцедуры