diff --git a/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйВызовСервера/Module.bsl index 4c6f0886..385241a5 100644 --- a/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйВызовСервера/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйВызовСервера/Module.bsl @@ -29,8 +29,7 @@ // Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов Функция ВыполнитьГруппуНаборовТестов(Знач ИдентификаторыТестовыхНаборов, Знач ИдентификаторТестовогоМодуля) Экспорт - АдресХранилища = ЮТКонтекстСлужебный.ЗначениеКонтекста("ХранилищеТестовыхСценариев"); - Хранилище = ПолучитьИзВременногоХранилища(АдресХранилища); + Хранилище = ЮТИсполнительСлужебныйСервер.СерверноеХранилищеТестов(); ТестовыйМодуль = Хранилище[ИдентификаторТестовогоМодуля]; Наборы = Новый Массив(); @@ -49,33 +48,7 @@ // ТестовыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля Процедура СохранитьИнформациюОТестовыхСценариях(Знач ТестовыеМодули) Экспорт - Хранилище = Новый Соответствие(); - - Для Каждого Модуль Из ТестовыеМодули Цикл - - Идентификатор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоМодуля(Модуль); - Хранилище.Вставить(Идентификатор, Модуль); - - Для Каждого Набор Из Модуль.НаборыТестов Цикл - - Идентификатор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоНабора(Модуль, Набор); - Хранилище.Вставить(Идентификатор, Набор); - - Для Каждого Тест Из Набор.Тесты Цикл - - Идентификатор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТеста(Модуль, Набор, Тест); - Хранилище.Вставить(Идентификатор, Тест); - - КонецЦикла; - - КонецЦикла; - - Модуль.НаборыТестов = Новый Массив; // Уже не нужно, поэтому очистим - - КонецЦикла; - - АдресХранилища = ПоместитьВоВременноеХранилище(Хранилище, Новый УникальныйИдентификатор()); - ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("ХранилищеТестовыхСценариев", АдресХранилища); + ЮТИсполнительСлужебныйСервер.СохранитьИнформациюОТестовыхСценариях(ТестовыеМодули); КонецПроцедуры diff --git a/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйКлиентСервер/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйКлиентСервер/Module.bsl index 39477a6e..7e41b254 100644 --- a/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйКлиентСервер/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйКлиентСервер/Module.bsl @@ -143,7 +143,7 @@ Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест, ВТранзакции) - ЮТСобытияСлужебный.УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор, Тест); + ЮТКонтекстИсполненияСлужебныйКлиентСервер.УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор, Тест); #Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда ВТранзакции = ЮТНастройкиВыполнения.ВТранзакции(); Если ВТранзакции Тогда diff --git a/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйСервер/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйСервер/Module.bsl new file mode 100644 index 00000000..72e42490 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйСервер/Module.bsl @@ -0,0 +1,70 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2024 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Функция СерверноеХранилищеТестов() Экспорт + + АдресХранилища = ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекстаХранилище()); + Возврат ПолучитьИзВременногоХранилища(АдресХранилища); + +КонецФункции + +Процедура СохранитьИнформациюОТестовыхСценариях(ТестовыеМодули) Экспорт + + Хранилище = Новый Соответствие(); + + Для Каждого Модуль Из ТестовыеМодули Цикл + + Идентификатор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоМодуля(Модуль); + Хранилище.Вставить(Идентификатор, Модуль); + + Для Каждого Набор Из Модуль.НаборыТестов Цикл + + Идентификатор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоНабора(Модуль, Набор); + Хранилище.Вставить(Идентификатор, Набор); + + Для Каждого Тест Из Набор.Тесты Цикл + + Идентификатор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТеста(Модуль, Набор, Тест); + Хранилище.Вставить(Идентификатор, Тест); + + КонецЦикла; + + КонецЦикла; + + Модуль.НаборыТестов = Новый Массив; // Уже не нужно, поэтому очистим + + КонецЦикла; + + АдресХранилища = ПоместитьВоВременноеХранилище(Хранилище, Новый УникальныйИдентификатор()); + ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаХранилище(), АдресХранилища); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ИмяКонтекстаХранилище() + + Возврат "ХранилищеТестовыхСценариев"; + +КонецФункции + +#КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйСервер/ЮТИсполнительСлужебныйСервер.mdo b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйСервер/ЮТИсполнительСлужебныйСервер.mdo new file mode 100644 index 00000000..e6d52a14 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТИсполнительСлужебныйСервер/ЮТИсполнительСлужебныйСервер.mdo @@ -0,0 +1,9 @@ + + + ЮТИсполнительСлужебныйСервер + + ru + Исполнитель служебный сервер + + true + diff --git a/exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl index 942853ee..99a62fbd 100644 --- a/exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl @@ -470,6 +470,30 @@ КонецФункции +// Возвращает массив с обратной последовательностью элементов +// +// Параметры: +// Значения - Массив Из Произвольный +// +// Возвращаемое значение: +// Массив Из Произвольный - Перевернутый массив +Функция ОбратныйПорядок(Значения) Экспорт + + Если НЕ ЗначениеЗаполнено(Значения) Тогда + Возврат Новый Массив; + КонецЕсли; + + ВГраница = Значения.ВГраница(); + Результат = Новый Массив(Значения.Количество()); + + Для Инд = 0 По ВГраница Цикл + Результат[Инд] = Значения[ВГраница - Инд]; + КонецЦикла; + + Возврат Результат; + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git a/exts/yaxunit/src/CommonModules/ЮТКонтекстИсполненияСлужебныйКлиентСервер/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКонтекстИсполненияСлужебныйКлиентСервер/Module.bsl new file mode 100644 index 00000000..3e17618d --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТКонтекстИсполненияСлужебныйКлиентСервер/Module.bsl @@ -0,0 +1,89 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2024 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура УстановитьКонтекстИсполнения(ТестовыйМодуль = Неопределено, Набор = Неопределено, Тест = Неопределено) Экспорт + + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполнения(); + + КонтекстИсполнения.Модуль = ТестовыйМодуль; + КонтекстИсполнения.Набор = Набор; + КонтекстИсполнения.Тест = Тест; + + Если Тест <> Неопределено Тогда + КонтекстИсполнения.Уровень = Уровни.Тест; + ИначеЕсли Набор <> Неопределено Тогда + КонтекстИсполнения.Уровень = Уровни.НаборТестов; + ИначеЕсли ТестовыйМодуль <> Неопределено Тогда + КонтекстИсполнения.Уровень = Уровни.Модуль; + Иначе + КонтекстИсполнения.Уровень = Неопределено; + КонецЕсли; + +КонецПроцедуры + +Процедура ПередВсемиТестами(ОписаниеСобытия) Экспорт + + УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль); + ЮТКонтекстСлужебный.УстановитьКонтекстМодуля(); + +КонецПроцедуры + +Процедура ПередТестовымНабором(ОписаниеСобытия) Экспорт + + УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор); + ЮТКонтекстСлужебный.УстановитьКонтекстНабораТестов(); + +КонецПроцедуры + +Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт + +#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда + ПолучитьСообщенияПользователю(Истина); +#КонецЕсли + + // Установка контекста исполнения вызывается в см. ЮТИсполнительСлужебныйКлиентСервер.ПередКаждымТестом + ЮТКонтекстСлужебный.УстановитьКонтекстТеста(); + +КонецПроцедуры + +Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт + + УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор); + +КонецПроцедуры + +Процедура ПослеТестовогоНабора(ОписаниеСобытия) Экспорт + + УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль); + +КонецПроцедуры + +Процедура ПослеВсехТестов(ОписаниеСобытия) Экспорт + + УстановитьКонтекстИсполнения(); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТКонтекстИсполненияСлужебныйКлиентСервер/ЮТКонтекстИсполненияСлужебныйКлиентСервер.mdo b/exts/yaxunit/src/CommonModules/ЮТКонтекстИсполненияСлужебныйКлиентСервер/ЮТКонтекстИсполненияСлужебныйКлиентСервер.mdo new file mode 100644 index 00000000..08614cf3 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТКонтекстИсполненияСлужебныйКлиентСервер/ЮТКонтекстИсполненияСлужебныйКлиентСервер.mdo @@ -0,0 +1,11 @@ + + + ЮТКонтекстИсполненияСлужебныйКлиентСервер + + ru + Контекст исполнения служебный клиент сервер + + true + true + true + diff --git a/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебный/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебный/Module.bsl index 4fc92c72..f48dbde8 100644 --- a/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебный/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебный/Module.bsl @@ -36,7 +36,7 @@ Клиентские = Истина; #КонецЕсли - Возврат ЮТПодключаемыеМодулиСлужебныйВызовСервера.ОбработчикиСобытий(Подсистема, Серверные, Клиентские); + Возврат ЮТСлужебныйПовторногоИспользования.ОбработчикиСобытий(Подсистема, Серверные, Клиентские); КонецФункции diff --git a/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебныйВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебныйВызовСервера/Module.bsl index 56697ddf..c1ddf59f 100644 --- a/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебныйВызовСервера/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТПодключаемыеМодулиСлужебныйВызовСервера/Module.bsl @@ -34,6 +34,9 @@ КонецЦикла; + // Изначально планировалось на основе состава подсистем, но он не позволяет задать четкий порядок элементов. + ПриоритезироватьОбработчикиСобытий(ГруппаОбработчиков, Модули); + Возврат Модули; КонецФункции @@ -103,4 +106,24 @@ КонецФункции +Процедура ПриоритезироватьОбработчикиСобытий(ГруппаОбработчиков, Модули) + + Если ГруппаОбработчиков = "ИсполнениеТестов" Тогда + Порядок = "ЮТЛогированиеСлужебный, ЮТИсполнительСлужебныйКлиент, ЮТКонтекстИсполненияСлужебныйКлиентСервер"; + Иначе + Возврат; + КонецЕсли; + + ЭлементыПорядка = ЮТКоллекции.ОбратныйПорядок(ЮТСтроки.РазделитьСтроку(Порядок, ",")); + + Для Каждого Элемент Из ЭлементыПорядка Цикл + Индекс = Модули.Найти(Элемент); + Если Индекс <> Неопределено Тогда + Модули.Удалить(Индекс); + Модули.Вставить(0, Элемент); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + #КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl index 693f6199..902f0293 100644 --- a/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТСлужебныйПовторногоИспользования/Module.bsl @@ -98,4 +98,10 @@ КонецФункции +Функция ОбработчикиСобытий(Знач Подсистема, Знач Серверные = Истина, Знач Клиентские = Истина) Экспорт + + Возврат ЮТПодключаемыеМодулиСлужебныйВызовСервера.ОбработчикиСобытий(Подсистема, Серверные, Клиентские); + +КонецФункции + #КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТСобытияСлужебный/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТСобытияСлужебный/Module.bsl index d0e2baae..1c418d78 100644 --- a/exts/yaxunit/src/CommonModules/ЮТСобытияСлужебный/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТСобытияСлужебный/Module.bsl @@ -236,27 +236,6 @@ #Область СлужебныеПроцедурыИФункции -Процедура УстановитьКонтекстИсполнения(ТестовыйМодуль = Неопределено, Набор = Неопределено, Тест = Неопределено) Экспорт - - Уровни = ЮТФабрика.УровниИсполнения(); - КонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполнения(); - - КонтекстИсполнения.Модуль = ТестовыйМодуль; - КонтекстИсполнения.Набор = Набор; - КонтекстИсполнения.Тест = Тест; - - Если Тест <> Неопределено Тогда - КонтекстИсполнения.Уровень = Уровни.Тест; - ИначеЕсли Набор <> Неопределено Тогда - КонтекстИсполнения.Уровень = Уровни.НаборТестов; - ИначеЕсли ТестовыйМодуль <> Неопределено Тогда - КонтекстИсполнения.Уровень = Уровни.Модуль; - Иначе - КонтекстИсполнения.Уровень = Неопределено; - КонецЕсли; - -КонецПроцедуры - Процедура ВызватьОбработкуСобытийИсполненияТестов(События, ОписаниеСобытия) Для ы = 0 По События.ВГраница() Цикл @@ -281,98 +260,83 @@ Параметры = ЮТКоллекции.ЗначениеВМассиве(ОписаниеСобытия); Если ЭтоСобытиеПеред(ИмяСобытия) Тогда - ВыполнитьОбработкуСобытияИсполненияТеста(ИмяСобытия, ОписаниеСобытия); + Ошибки = ВызватьПодключаемыйОбработчикСобытия(ИмяСобытия, "ИсполнениеТестов", Параметры); #Если Клиент Тогда СерверныеОшибки = ВызватьСервернуюОбработкуСобытияИсполненияТестов(ИмяСобытия, ОписаниеСобытия); ЮТКоллекции.ДополнитьМассив(Ошибки, СерверныеОшибки); #КонецЕсли ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия); + Иначе + ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия); Ошибки = ВызватьПодключаемыйОбработчикСобытия(ИмяСобытия, "ИсполнениеТестов", Параметры); #Если Клиент Тогда СерверныеОшибки = ВызватьСервернуюОбработкуСобытияИсполненияТестов(ИмяСобытия, ОписаниеСобытия); ЮТКоллекции.ДополнитьМассив(Ошибки, СерверныеОшибки); #КонецЕсли - ВыполнитьОбработкуСобытияИсполненияТеста(ИмяСобытия, ОписаниеСобытия); + КонецЕсли; ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки); КонецПроцедуры -Процедура ВыполнитьОбработкуСобытияИсполненияТеста(ИмяСобытия, ОписаниеСобытия) - - Если ИмяСобытия = "ПередТестом" Или ИмяСобытия = "ПослеТеста" Тогда - Возврат; - КонецЕсли; - -#Если ВебКлиент Тогда - ЮТИсключения.МетодНеДоступен("ЮТСобытияСлужебный.ВыполнитьОбработкуСобытияИсполненияТеста"); -#Иначе - ИмяМетода = "Обработчик" + ИмяСобытия; - //@skip-check server-execution-safe-mode - Выполнить(ИмяМетода + "(ОписаниеСобытия)"); -#КонецЕсли - -КонецПроцедуры - Функция ВызватьСервернуюОбработкуСобытияИсполненияТестов(ИмяСобытия, ОписаниеСобытия) - ОписаниеСобытияСервер = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(Неопределено); + Параметры = Новый Массив(4); + Параметры[0] = ИмяСобытия; Если ОписаниеСобытия.Модуль <> Неопределено Тогда - ОписаниеСобытияСервер.Модуль = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоМодуля(ОписаниеСобытия.Модуль); + Параметры[1] = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоМодуля(ОписаниеСобытия.Модуль); КонецЕсли; Если ОписаниеСобытия.Набор <> Неопределено Тогда - ОписаниеСобытияСервер.Набор = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоНабора(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор); + Параметры[2] = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТестовогоНабора(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор); КонецЕсли; Если ОписаниеСобытия.Тест <> Неопределено Тогда - ОписаниеСобытияСервер.Тест = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТеста(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор, ОписаниеСобытия.Тест); + Параметры[3] = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТеста(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор, ОписаниеСобытия.Тест); КонецЕсли; - Параметры = ЮТКоллекции.ЗначениеВМассиве(ИмяСобытия, ОписаниеСобытияСервер); Возврат ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере("ЮТСобытияСлужебный", "СерверныйВызовОбработкиСобытияИсполненияТестов", Параметры); КонецФункции -Функция СерверныйВызовОбработкиСобытияИсполненияТестов(ИмяСобытия, ОписаниеСобытия) Экспорт +#Если Сервер Тогда +Функция СерверныйВызовОбработкиСобытияИсполненияТестов(ИмяСобытия, ИдентификаторМодуля = Неопределено, ИдентификаторНабора = Неопределено, ИдентификаторТеста = Неопределено) Экспорт - АдресХранилища = ЮТКонтекстСлужебный.ЗначениеКонтекста("ХранилищеТестовыхСценариев"); - Хранилище = ПолучитьИзВременногоХранилища(АдресХранилища); + Хранилище = ЮТИсполнительСлужебныйСервер.СерверноеХранилищеТестов(); + ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(Неопределено); - Если ОписаниеСобытия.Модуль <> Неопределено Тогда - ОписаниеСобытия.Модуль = Хранилище[ОписаниеСобытия.Модуль]; + Если ИдентификаторМодуля <> Неопределено Тогда + ОписаниеСобытия.Модуль = Хранилище[ИдентификаторМодуля]; КонецЕсли; - Если ОписаниеСобытия.Набор <> Неопределено Тогда - ОписаниеСобытия.Набор = Хранилище[ОписаниеСобытия.Набор]; + Если ИдентификаторНабора <> Неопределено Тогда + ОписаниеСобытия.Набор = Хранилище[ИдентификаторНабора]; КонецЕсли; - Если ОписаниеСобытия.Тест <> Неопределено Тогда - ОписаниеСобытия.Тест = Хранилище[ОписаниеСобытия.Тест]; - КонецЕсли; - - Если ЭтоСобытиеПеред(ИмяСобытия) Тогда - ВыполнитьОбработкуСобытияИсполненияТеста(ИмяСобытия, ОписаниеСобытия); + Если ИдентификаторТеста <> Неопределено Тогда + ОписаниеСобытия.Тест = Хранилище[ИдентификаторТеста]; КонецЕсли; Результат = ВызватьПодключаемыйОбработчикСобытия(ИмяСобытия, "ИсполнениеТестов", ЮТКоллекции.ЗначениеВМассиве(ОписаниеСобытия)); - Если ЭтоСобытиеПосле(ИмяСобытия) Тогда - ВыполнитьОбработкуСобытияИсполненияТеста(ИмяСобытия, ОписаниеСобытия); - КонецЕсли; - Возврат Результат; КонецФункции +#КонецЕсли Функция ВызватьПодключаемыйОбработчикСобытия(ИмяСобытия, Подсистема, ПараметрыСобытия) ОбработчикиСобытий = ЮТПодключаемыеМодулиСлужебный.ОбработчикиСобытий(Подсистема); + + Если ЭтоСобытиеПосле(ИмяСобытия) Тогда + ОбработчикиСобытий = ЮТКоллекции.ОбратныйПорядок(ОбработчикиСобытий); + КонецЕсли; + Ошибки = Новый Массив(); Для Каждого ИмяМодуля Из ОбработчикиСобытий Цикл @@ -479,57 +443,4 @@ КонецФункции -#Область ОбработчикиСобытийИсполненияТестов - -//@skip-check module-unused-method -Процедура ОбработчикПередВсемиТестами(ОписаниеСобытия) - - УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль); - ЮТКонтекстСлужебный.УстановитьКонтекстМодуля(); - -КонецПроцедуры - -//@skip-check module-unused-method -Процедура ОбработчикПередТестовымНабором(ОписаниеСобытия) - - УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор); - ЮТКонтекстСлужебный.УстановитьКонтекстНабораТестов(); - -КонецПроцедуры - -//@skip-check module-unused-method -Процедура ОбработчикПередКаждымТестом(ОписаниеСобытия) - -#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - ПолучитьСообщенияПользователю(Истина); -#КонецЕсли - - // Установка контекста исполнения вызывается в см. ЮТИсполнительСлужебныйКлиентСервер.ПередКаждымТестом - ЮТКонтекстСлужебный.УстановитьКонтекстТеста(); - -КонецПроцедуры - -//@skip-check module-unused-method -Процедура ОбработчикПослеКаждогоТеста(ОписаниеСобытия) - - УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор); - -КонецПроцедуры - -//@skip-check module-unused-method -Процедура ОбработчикПослеТестовогоНабора(ОписаниеСобытия) - - УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль); - -КонецПроцедуры - -//@skip-check module-unused-method -Процедура ОбработчикПослеВсехТестов(ОписаниеСобытия) - - УстановитьКонтекстИсполнения(); - -КонецПроцедуры - -#КонецОбласти - #КонецОбласти diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 31482c52..c2052d63 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -73,12 +73,14 @@ CommonModule.ЮТИсполнительСлужебныйГлобальный CommonModule.ЮТИсполнительСлужебныйКлиент CommonModule.ЮТИсполнительСлужебныйКлиентСервер + CommonModule.ЮТИсполнительСлужебныйСервер CommonModule.ЮТКоллекции CommonModule.ЮТКомпоненты CommonModule.ЮТКомпонентыСлужебныйВызовСервера CommonModule.ЮТКомпонентыСлужебныйКлиент CommonModule.ЮТКонструкторВариантов CommonModule.ЮТКонструкторТестовыхДанныхСлужебный + CommonModule.ЮТКонтекстИсполненияСлужебныйКлиентСервер CommonModule.ЮТКонтекстСлужебный CommonModule.ЮТКонтекстСлужебныйВызовСервера CommonModule.ЮТКонтекстСлужебныйКлиент diff --git a/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo b/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo index ccb510e7..49ce3357 100644 --- a/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo +++ b/exts/yaxunit/src/Subsystems/ЮТДвижок/Subsystems/ЮТСервис/ЮТСервис.mdo @@ -17,6 +17,7 @@ CommonModule.ЮТКомпоненты CommonModule.ЮТКомпонентыСлужебныйВызовСервера CommonModule.ЮТКомпонентыСлужебныйКлиент + CommonModule.ЮТКонтекстИсполненияСлужебныйКлиентСервер CommonModule.ЮТЛогированиеСлужебныйВызовСервера CommonModule.ЮТЛогИсполненияТестаСлужебный CommonModule.ЮТЛокальСлужебный diff --git a/exts/yaxunit/src/Subsystems/ЮТПодключаемыеМодули/Subsystems/ОбработчикиСобытий/Subsystems/ИсполнениеТестов/ИсполнениеТестов.mdo b/exts/yaxunit/src/Subsystems/ЮТПодключаемыеМодули/Subsystems/ОбработчикиСобытий/Subsystems/ИсполнениеТестов/ИсполнениеТестов.mdo index cabd5580..64a73d8b 100644 --- a/exts/yaxunit/src/Subsystems/ЮТПодключаемыеМодули/Subsystems/ОбработчикиСобытий/Subsystems/ИсполнениеТестов/ИсполнениеТестов.mdo +++ b/exts/yaxunit/src/Subsystems/ЮТПодключаемыеМодули/Subsystems/ОбработчикиСобытий/Subsystems/ИсполнениеТестов/ИсполнениеТестов.mdo @@ -8,6 +8,7 @@ true CommonModule.МокитоСлужебный CommonModule.ЮТИсполнительСлужебныйКлиент + CommonModule.ЮТКонтекстИсполненияСлужебныйКлиентСервер CommonModule.ЮТТестовыеДанныеСлужебный CommonModule.ЮТУтверждения Subsystem.ЮТПодключаемыеМодули.Subsystem.ОбработчикиСобытий