1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-03-17 20:48:01 +02:00

Служебным модулям добавлен суффикс "Служебный"

This commit is contained in:
alkoleft 2024-03-11 14:43:33 +03:00
parent f298d38b95
commit 6c92beb4f0
155 changed files with 2036 additions and 1880 deletions

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.Мокито">
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.МокитоОбучение">
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.МокитоПроверки">
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -20,7 +20,7 @@
Функция Включен() Экспорт
ДанныеКонтекста = ЮТКонтекст.ДанныеКонтекста();
ДанныеКонтекста = ЮТКонтекстСлужебный.ДанныеКонтекста();
Настройки = Неопределено;
Возврат ДанныеКонтекста <> Неопределено И ДанныеКонтекста.Свойство(КлючНастроек(), Настройки) И Настройки <> Неопределено;
@ -40,7 +40,7 @@
// см. НовыеНастройки
Функция Настройки() Экспорт
Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек());
Настройки = ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючНастроек());
Если Настройки = Неопределено Тогда
ВызватьИсключение "Что-то пошло не так, настройки Мокито не инициализированы";
@ -206,7 +206,7 @@
ИначеЕсли Условие.Режим = ТипыУсловий.Значение Тогда
Совпадает = ЮТСравнениеКлиентСервер.ЗначенияРавны(Условие.Значение, Параметр);
Совпадает = ЮТСравнениеСлужебныйКлиентСервер.ЗначенияРавны(Условие.Значение, Параметр);
ИначеЕсли Условие.Режим = ТипыУсловий.Тип Тогда
@ -218,7 +218,7 @@
ИначеЕсли Условие.Режим = ТипыУсловий.Предикат Тогда
Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Параметр, Условие.Предикат);
Результат = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(Параметр, Условие.Предикат);
Совпадает = Результат.Успешно;
КонецЕсли;
@ -531,7 +531,7 @@
Процедура ИнициализироватьНастройки() Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючНастроек(), НовыеНастройки(), Истина);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючНастроек(), НовыеНастройки(), Истина);
КонецПроцедуры
@ -568,7 +568,7 @@
Процедура ОчиститьНастройки() Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючНастроек(), Неопределено);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючНастроек(), Неопределено);
КонецПроцедуры
@ -611,10 +611,10 @@
Условия.Добавить(Параметр);
ИначеЕсли ЮТПредикатыКлиентСервер.ЭтоПредикат(Параметр) Тогда
ИначеЕсли ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(Параметр) Тогда
Маска = ОписаниеМаскиПараметра(ТипыУсловий.Предикат, 90);
Маска.Вставить("Предикат", ЮТПредикатыКлиентСервер.НаборПредикатов(Параметр));
Маска.Вставить("Предикат", ЮТПредикатыСлужебныйКлиентСервер.НаборПредикатов(Параметр));
Условия.Добавить(Маска);
Иначе

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.МокитоСлужебный">
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -35,7 +35,7 @@
Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов) Экспорт
//@skip-check constructor-function-return-section
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь);
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь);
КонецФункции
@ -49,7 +49,7 @@
// Произвольный - Значение реквизита ссылки
Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина);
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина);
КонецФункции
@ -65,9 +65,9 @@
// Структура, Неопределено - Содержит все данные записи, включая табличный части
Функция Запись(ИмяТаблицы, Предикат) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
//@skip-check constructor-function-return-section
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Истина);
Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Истина);
КонецФункции
@ -83,8 +83,8 @@
// Массив из Структура - Найденные записи, включая табличный части
Функция Записи(ИмяТаблицы, Предикат) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь);
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Ложь);
КонецФункции
@ -102,8 +102,8 @@
//
Функция ЗначенияРеквизитовЗаписи(ИмяТаблицы, Предикат, ИменаРеквизитов) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов);
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь);
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов);
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь);
КонецФункции
@ -121,9 +121,9 @@
//
Функция ЗначениеРеквизитаЗаписи(ИмяТаблицы, Предикат, ИмяРеквизита) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита);
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита);
//@skip-check constructor-function-return-section
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Истина);
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Истина);
КонецФункции
@ -139,7 +139,7 @@
// Булево - Таблица содержит записи
Функция ТаблицаСодержитЗаписи(ИмяТаблицы, Предикат = Неопределено) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат);
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат);
Возврат НЕ РезультатПустой(ОписаниеЗапроса);
КонецФункции
@ -155,9 +155,9 @@
Функция РезультатЗапроса(ОписаниеЗапроса) Экспорт
#Если Клиент Тогда
Возврат ЮТЗапросыВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Истина);
Возврат ЮТЗапросыСлужебныйВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Истина);
#Иначе
Возврат ЮТЗапросыВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Ложь);
Возврат ЮТЗапросыСлужебныйВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Ложь);
#КонецЕсли
КонецФункции
@ -171,7 +171,7 @@
// Булево - Результат пустой
Функция РезультатПустой(ОписаниеЗапроса) Экспорт
Возврат ЮТЗапросыВызовСервера.РезультатПустой(ОписаниеЗапроса);
Возврат ЮТЗапросыСлужебныйВызовСервера.РезультатПустой(ОписаниеЗапроса);
КонецФункции
@ -202,7 +202,7 @@
Функция НовыйОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля) Экспорт
Возврат ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля);
Возврат ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля);
КонецФункции
@ -228,10 +228,10 @@
КонецЕсли;
Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ);
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
ОписаниеЗапроса.Порядок.Добавить("НомерСтроки");
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь);
Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Ложь);
КонецФункции

View File

@ -276,9 +276,9 @@
Функция ШаблонУсловия(ВыражениеПредиката, ВыраженияПредикатов, ТипРеквизита)
Выражение = ВыражениеПредиката.ВидСравнения;
Отрицание = ЮТПредикатыКлиентСервер.ЭтоВыраженияОтрицания(Выражение);
Отрицание = ЮТПредикатыСлужебныйКлиентСервер.ЭтоВыраженияОтрицания(Выражение);
Если Отрицание Тогда
Выражение = ЮТПредикатыКлиентСервер.ВыраженияБезОтрицания(Выражение);
Выражение = ЮТПредикатыСлужебныйКлиентСервер.ВыраженияБезОтрицания(Выражение);
КонецЕсли;
Если Выражение = ВыраженияПредикатов.Равно Тогда
@ -323,7 +323,7 @@
ДлинаПсевдонима = СтрДлина(ПсевдонимТаблицы);
Для Каждого ВыражениеПредиката Из Предикаты Цикл
Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ВыражениеПредиката) И ЗначениеЗаполнено(ВыражениеПредиката.ИмяРеквизита) Тогда
Если ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(ВыражениеПредиката) И ЗначениеЗаполнено(ВыражениеПредиката.ИмяРеквизита) Тогда
Реквизиты.Добавить(СтрШаблон("%1.%2 КАК _%3", ПсевдонимТаблицы, ВыражениеПредиката.ИмяРеквизита, Реквизиты.Количество()));
КонецЕсли;
КонецЦикла;
@ -337,7 +337,7 @@
Попытка
Схема.УстановитьТекстЗапроса(СтрШаблон("ВЫБРАТЬ %1 ИЗ %2 КАК %3", СтрСоединить(Реквизиты, ","), ИмяТаблицы, ПсевдонимТаблицы));
Исключение
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора.
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора.
|Возможно имена реквизитов заданы неверно");
ВызватьИсключение;
КонецПопытки;
@ -372,7 +372,7 @@
Для Каждого Условие Из Условия Цикл
Если НЕ ЮТПредикатыКлиентСервер.ЭтоПредикат(Условие) Тогда
Если НЕ ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(Условие) Тогда
Результат.Добавить(Условие);
Продолжить;
КонецЕсли;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9115c1c4-e348-46da-820d-e61915f18fde">
<name>ЮТЗапросыВызовСервера</name>
<name>ЮТЗапросыСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Запросы вызов сервера</value>

View File

@ -29,7 +29,7 @@
КонецЕсли;
Если ПредикатыУсловия <> Неопределено Тогда
Описание.Условия = ЮТПредикатыКлиентСервер.НаборПредикатов(ПредикатыУсловия);
Описание.Условия = ЮТПредикатыСлужебныйКлиентСервер.НаборПредикатов(ПредикатыУсловия);
КонецЕсли;
Возврат Описание;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6dfe96cd-f835-42f2-b5d7-561680929207">
<name>ЮТЗапросыКлиентСервер</name>
<name>ЮТЗапросыСлужебныйКлиентСервер</name>
<synonym>
<key>ru</key>
<value>Запросы клиент сервер</value>

View File

@ -16,8 +16,16 @@
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
#Область ПрограммныйИнтерфейс
// Формирует текст исключения о некорректных параметрах вызова метода
//
// Параметры:
// ИмяМетода - Строка
// Пояснение - Строка
//
// Возвращаемое значение:
// Строка - Текст исключения
Функция НекорректныеПараметрыМетода(ИмяМетода, Пояснение = Неопределено) Экспорт
Сообщение = СтрШаблон("Некорректные параметры метода `%1`");
@ -25,12 +33,28 @@
КонецФункции
// Формирует текст исключения о неподдерживаемом значении параметра вызова метода
//
// Параметры:
// ИмяМетода - Строка
// ЗначениеПараметра - Произвольный
//
// Возвращаемое значение:
// Строка - Текст исключения
Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт
Возврат СтрШаблон("Неподдерживаемый параметр метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра));
КонецФункции
// Формирует текст исключения о недоступности метода в указанном контексте
//
// Параметры:
// ИмяМетода - Строка
// ИмяКонтекста - Строка
//
// Возвращаемое значение:
// Строка - Текст исключения
Функция МетодНеДоступен(ИмяМетода, ИмяКонтекста = "веб-клиенте") Экспорт
Возврат СтрШаблон("Метод `%1` не доступен в/на %2", ИмяМетода, ИмяКонтекста);

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТИсполнительСервер">
<suppressions key="com.e1c.v8codestyle.md:common-module-name-server-call" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -22,14 +22,14 @@
// Выполняет тесты наборов модуля. Возвращает результат прогона
// Это обертка для прогона на сервере
// Параметры:
// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// Наборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
Функция ВыполнитьГруппуНаборовТестов(Знач Наборы, Знач ТестовыйМодуль) Экспорт
Возврат ЮТИсполнительКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль);
Возврат ЮТИсполнительСлужебныйКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль);
КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bc8637e0-b62c-49eb-9bea-bd06b7e690ae">
<name>ЮТИсполнительСервер</name>
<name>ЮТИсполнительСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Исполнитель тестов (сервер)</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -20,7 +20,7 @@
Процедура ЮТВыполнитьМодульноеТестирование() Экспорт
ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование();
ЮТИсполнительСлужебныйКлиент.ВыполнитьМодульноеТестирование();
КонецПроцедуры

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c71e5399-4012-43dd-8025-379f4211a16a">
<name>ЮТИсполнительГлобальный</name>
<name>ЮТИсполнительСлужебныйГлобальный</name>
<synonym>
<key>ru</key>
<value>Исполнитель клиент глоб</value>
<value>Исполнитель глобальный</value>
</synonym>
<global>true</global>
<clientManagedApplication>true</clientManagedApplication>

View File

@ -80,7 +80,7 @@
Продолжить;
КонецЕсли;
РежимИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим);
РежимИсполнения = ЮТФабрикаСлужебный.КонтекстИсполнения(Набор.Режим);
Если РежимИсполнения = КонтекстыИсполнения.Клиент Тогда
КлиентскиеНаборы.Добавить(Набор);
@ -96,12 +96,12 @@
ТестовыйМодульОблегченный.НаборыТестов = Новый Массив();
Если ЗначениеЗаполнено(КлиентскиеНаборы) Тогда
Результаты = ЮТИсполнительКлиентСервер.ВыполнитьГруппуНаборовТестов(КлиентскиеНаборы, ТестовыйМодульОблегченный);
Результаты = ЮТИсполнительСлужебныйКлиентСервер.ВыполнитьГруппуНаборовТестов(КлиентскиеНаборы, ТестовыйМодульОблегченный);
КонецЕсли;
Если ЗначениеЗаполнено(СерверныеНаборы) Тогда
Результат = ЮТИсполнительСервер.ВыполнитьГруппуНаборовТестов(СерверныеНаборы, ТестовыйМодульОблегченный);
ЮТЛогирование.ВывестиСерверныеСообщения();
Результат = ЮТИсполнительСлужебныйВызовСервера.ВыполнитьГруппуНаборовТестов(СерверныеНаборы, ТестовыйМодульОблегченный);
ЮТЛогированиеСлужебный.ВывестиСерверныеСообщения();
ЮТКоллекции.ДополнитьМассив(Результаты, Результат);
КонецЕсли;
@ -117,6 +117,17 @@
ВызватьИсключение ТекстОшибки;
КонецПроцедуры
Процедура ВыполнитьИнициализацию(ПараметрыЗапуска) Экспорт
ЮТКонтекстСлужебный.ИнициализироватьКонтекст();
ЮТКонтекстСлужебный.УстановитьГлобальныеНастройкиВыполнения(ПараметрыЗапуска.settings);
// Повторно сохраним для передачи на сервер
ЮТКонтекстСлужебный.УстановитьГлобальныеНастройкиВыполнения(ЮТКонтекстСлужебный.ГлобальныеНастройкиВыполнения());
ЮТСобытияСлужебный.Инициализация(ПараметрыЗапуска);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -132,7 +143,7 @@
Процедура ОбработчикЗагрузитьПараметры(Результат, ДополнительныеПараметры) Экспорт
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
ЮТПараметрыЗапуска.ПараметрыЗапуска(ДополнительныеПараметры.АргументыЗапуска, Обработчик);
ЮТПараметрыЗапускаСлужебный.ПараметрыЗапуска(ДополнительныеПараметры.АргументыЗапуска, Обработчик);
КонецПроцедуры
@ -150,18 +161,17 @@
Процедура ОбработчикИнициализация(Результат, ДополнительныеПараметры) Экспорт
ЮТСобытия.Инициализация(ДополнительныеПараметры.ПараметрыЗапуска);
ВыполнитьИнициализацию(ДополнительныеПараметры.ПараметрыЗапуска);
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
КонецПроцедуры
Процедура ОбработчикЗагрузитьТесты(Результат, ДополнительныеПараметры) Экспорт
ЮТСобытия.ПередЧтениеСценариев();
ЮТСобытияСлужебный.ПередЧтениеСценариев();
ТестовыеМодули = ЮТЧитатель.ЗагрузитьТесты(ДополнительныеПараметры.ПараметрыЗапуска);
ЮТСобытия.ПослеЧтенияСценариев(ТестовыеМодули);
ТестовыеМодули = ЮТЧитательСлужебный.ЗагрузитьТесты(ДополнительныеПараметры.ПараметрыЗапуска);
ЮТСобытияСлужебный.ПослеЧтенияСценариев(ТестовыеМодули);
ИсполняемыеТестовыеМодули = Новый Массив();
@ -170,7 +180,7 @@
ИсполняемыеТестовыеМодули.Добавить(ИсполняемыйТестовыйМодуль);
КонецЦикла;
ЮТСобытия.ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули);
ЮТСобытияСлужебный.ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули);
ДополнительныеПараметры.ИсполняемыеТестовыеМодули = ИсполняемыеТестовыеМодули;
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры, ИсполняемыеТестовыеМодули);
@ -179,7 +189,7 @@
Процедура ОбработчикВыполнитьТестирование(Результат, ДополнительныеПараметры) Экспорт
ЮТСобытия.ПередВыполнениемТестов(ДополнительныеПараметры.ИсполняемыеТестовыеМодули);
ЮТСобытияСлужебный.ПередВыполнениемТестов(ДополнительныеПараметры.ИсполняемыеТестовыеМодули);
РезультатыТестирования = Новый Массив();
@ -190,7 +200,7 @@
КонецЦикла;
ЮТСобытия.ПослеВыполненияТестов(РезультатыТестирования);
ЮТСобытияСлужебный.ПослеВыполненияТестов(РезультатыТестирования);
ДополнительныеПараметры.РезультатыТестирования = РезультатыТестирования;
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры, РезультатыТестирования);
@ -201,7 +211,7 @@
Если ЗначениеЗаполнено(ДополнительныеПараметры.ПараметрыЗапуска.reportPath) Тогда
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
ЮТОтчет.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик);
ЮТОтчетСлужебный.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик);
Иначе
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
КонецЕсли;
@ -218,7 +228,7 @@
Процедура ОбработчикЗавершить(Результат, ДополнительныеПараметры) Экспорт
Параметры = ДополнительныеПараметры.ПараметрыЗапуска;
ЮТКонтекст.УдалитьКонтекст();
ЮТКонтекстСлужебный.УдалитьКонтекст();
Если Параметры.showReport Тогда
ПоказатьОтчет(ДополнительныеПараметры.РезультатыТестирования, Параметры);
@ -232,7 +242,7 @@
Если ДополнительныеПараметры.ПараметрыЗапуска.ПодключатьВнешниеКомпоненты Тогда
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
ЮТКомпонентыКлиент.ТихаяУстановкаКомпонент(Обработчик);
ЮТКомпонентыСлужебныйКлиент.ТихаяУстановкаКомпонент(Обработчик);
Иначе
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
КонецЕсли;
@ -243,18 +253,9 @@
#Область ОбработчикиСобытий
Процедура Инициализация(Параметры) Экспорт
ЮТКонтекст.ИнициализироватьКонтекст();
ЮТКонтекст.УстановитьГлобальныеНастройкиВыполнения(Параметры.settings);
// Повторно сохраним для передачи на сервер
ЮТКонтекст.УстановитьГлобальныеНастройкиВыполнения(ЮТКонтекст.ГлобальныеНастройкиВыполнения());
КонецПроцедуры
Процедура ПередВыполнениемТестов(ИсполняемыеМодули) Экспорт
ЮТКонтекст.УстановитьКонтекстИсполнения(ЮТФабрика.НовыйКонтекстИсполнения());
ЮТКонтекстСлужебный.УстановитьКонтекстИсполнения(ЮТФабрикаСлужебный.НовыйКонтекстИсполнения());
КонецПроцедуры
@ -269,17 +270,17 @@
Функция ИсполняемыйТестовыйМодуль(ТестовыйМодуль)
ИсполняемыйТестовыйМодуль = ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль);
ИсполняемыйТестовыйМодуль = ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль);
КонтекстыПриложения = ЮТФабрика.КонтекстыПриложения();
КонтекстыМодуля = ЮТФабрика.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля);
КонтекстыПриложения = ЮТФабрикаСлужебный.КонтекстыПриложения();
КонтекстыМодуля = ЮТФабрикаСлужебный.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля);
КонтекстыИсполнения = ЮТФабрика.КонтекстыИсполнения();
ИсполняемыйТестовыйМодуль.НаборыТестов = ИсполняемыеНаборыМодуля(ТестовыйМодуль);
Для Каждого Набор Из ИсполняемыйТестовыйМодуль.НаборыТестов Цикл
КонтекстИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим);
КонтекстИсполнения = ЮТФабрикаСлужебный.КонтекстИсполнения(Набор.Режим);
Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда
ОшибкаКонтекста = "Неподдерживаемый режим запуска";
@ -293,9 +294,9 @@
Если ОшибкаКонтекста <> Неопределено Тогда
Набор.Выполнять = Ложь;
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Набор, ОшибкаКонтекста);
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуРежимаВыполнения(Набор, ОшибкаКонтекста);
Для Каждого Тест Из Набор.Тесты Цикл
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Тест, ОшибкаКонтекста);
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуРежимаВыполнения(Тест, ОшибкаКонтекста);
КонецЦикла;
КонецЕсли;
@ -321,14 +322,14 @@
Для Каждого Контекст Из Тест.КонтекстВызова Цикл
Если НЕ НаборыКонтекстов.Свойство(Контекст) Тогда
ИсполняемыйНабор = ЮТФабрика.ОписаниеИсполняемогоНабораТестов(ТестовыйНабор, ТестовыйМодуль);
ИсполняемыйНабор = ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов(ТестовыйНабор, ТестовыйМодуль);
ИсполняемыйНабор.Режим = Контекст;
НаборыКонтекстов.Вставить(Контекст, ИсполняемыйНабор);
Иначе
ИсполняемыйНабор = НаборыКонтекстов[Контекст];
КонецЕсли;
ИсполняемыйТест = ЮТФабрика.ОписаниеИсполняемогоТеста(Тест, Контекст, ТестовыйМодуль);
ИсполняемыйТест = ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста(Тест, Контекст, ТестовыйМодуль);
Если Тест.Свойство("Ошибки") И Тест.Ошибки.Количество() > 0 Тогда
ИсполняемыйТест.Ошибки = ЮТКоллекции.СкопироватьМассив(Тест.Ошибки);
КонецЕсли;
@ -358,7 +359,7 @@
Если Ошибки.Количество() > 0 Тогда
Для Каждого Ошибка Из Ошибки Цикл
Если Ошибка.ТипОшибки = ЮТФабрика.ТипыОшибок().ЧтенияТестов Тогда
Если Ошибка.ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ЧтенияТестов Тогда
Тест = ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка);
ТестыНабора.Добавить(Тест);
@ -369,8 +370,8 @@
КонецПроцедуры
Функция ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка)
Контексты = ЮТФабрика.КонтекстыМодуля(Модуль.МетаданныеМодуля);
Тест = ЮТФабрика.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
Контексты = ЮТФабрикаСлужебный.КонтекстыМодуля(Модуль.МетаданныеМодуля);
Тест = ЮТФабрикаСлужебный.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
Тест.Вставить("Ошибки", Новый Массив);
Тест.Ошибки.Добавить(ЮТКоллекции.СкопироватьСтруктуру(Ошибка));
@ -389,7 +390,7 @@
// Записать код возврата.
//
// Параметры:
// РезультатыТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// РезультатыТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Параметры - см. ЮТФабрика.ПараметрыЗапуска
Процедура ЗаписатьКодВозврата(РезультатыТестирования, Параметры)
@ -446,7 +447,7 @@
Возврат Результат;
КонецЕсли;
ТипОшибкиПропущен = ЮТФабрика.ТипыОшибок().Пропущен;
ТипОшибкиПропущен = ЮТФабрикаСлужебный.ТипыОшибок().Пропущен;
Для Каждого ОписаниеОшибки Из Тест.Ошибки Цикл
Если ОписаниеОшибки.ТипОшибки <> ТипОшибкиПропущен Тогда
Результат = Истина;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c9bf0e7a-6503-44eb-bef0-b37e1d3c6e22">
<name>ЮТИсполнительКлиент</name>
<name>ЮТИсполнительСлужебныйКлиент</name>
<synonym>
<key>ru</key>
<value>Исполнитель клиент</value>

View File

@ -20,18 +20,18 @@
// Выполняет тесты группы наборов, соответствующих одному режиму выполнения (клиент/сервер)
// Параметры:
// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы тестов модуля
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// Наборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Наборы тестов модуля
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
//
// Возвращаемое значение:
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов с заполненной информацией о выполнении
// Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов с заполненной информацией о выполнении
Функция ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль) Экспорт
Если Наборы.Количество() = 0 Тогда
Возврат Наборы;
КонецЕсли;
ЮТСобытия.ПередВсемиТестамиМодуля(ТестовыйМодуль);
ЮТСобытияСлужебный.ПередВсемиТестамиМодуля(ТестовыйМодуль);
Если ЕстьОшибки(ТестовыйМодуль) Тогда
СкопироватьОшибкиВ(Наборы, ТестовыйМодуль.Ошибки);
@ -48,7 +48,7 @@
КонецЦикла;
ЮТСобытия.ПослеВсехТестовМодуля(ТестовыйМодуль);
ЮТСобытияСлужебный.ПослеВсехТестовМодуля(ТестовыйМодуль);
Если ЕстьОшибки(ТестовыйМодуль) Тогда
СкопироватьОшибкиВ(Наборы, ТестовыйМодуль.Ошибки);
@ -67,7 +67,7 @@
Функция ВыполнитьНаборТестов(Набор, ТестовыйМодуль)
Набор.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах();
ЮТСобытия.ПередТестовымНабором(ТестовыйМодуль, Набор);
ЮТСобытияСлужебный.ПередТестовымНабором(ТестовыйМодуль, Набор);
Если ЕстьОшибки(Набор) Тогда
Возврат Неопределено;
@ -86,12 +86,12 @@
ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест, ВТранзакции);
Тест.Статус = ЮТРегистрацияОшибок.СтатусВыполненияТеста(Тест);
Тест.Статус = ЮТРегистрацияОшибокСлужебный.СтатусВыполненияТеста(Тест);
Результаты.Добавить(Тест);
КонецЦикла;
ЮТСобытия.ПослеТестовогоНабора(ТестовыйМодуль, Набор);
ЮТСобытияСлужебный.ПослеТестовогоНабора(ТестовыйМодуль, Набор);
Набор.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Набор.ДатаСтарта;
@ -101,7 +101,7 @@
Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест, ВТранзакции)
ЮТСобытия.УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор, Тест);
ЮТСобытияСлужебный.УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор, Тест);
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
ВТранзакции = ЮТНастройкиВыполнения.ВТранзакции();
Если ВТранзакции Тогда
@ -109,18 +109,18 @@
КонецЕсли;
#КонецЕсли
ЮТСобытия.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест);
ЮТСобытияСлужебный.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест);
КонецПроцедуры
Процедура ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест, ВТранзакции)
Если ЮТКонтекст.ДанныеКонтекста() = Неопределено Тогда // Сломан контекст
Если ЮТКонтекстСлужебный.ДанныеКонтекста() = Неопределено Тогда // Сломан контекст
ОбновитьПовторноИспользуемыеЗначения();
ОтменитьТранзакциюТеста(Тест, ВТранзакции);
ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
ЮТСобытияСлужебный.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
Иначе
ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
ЮТСобытияСлужебный.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
ОтменитьТранзакциюТеста(Тест, ВТранзакции);
КонецЕсли;
@ -133,13 +133,13 @@
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
Иначе
ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружено лишне закрытие транзакции");
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружено лишне закрытие транзакции");
КонецЕсли;
КонецЕсли;
Пока ТранзакцияАктивна() Цикл
ОтменитьТранзакцию();
ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция");
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция");
КонецЦикла;
#КонецЕсли
@ -163,7 +163,7 @@
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(Тест.ПолноеИмяМетода, Тест.Параметры);
Если Ошибка <> Неопределено Тогда
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка);
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка);
КонецЕсли;
КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="24d9c1de-23c0-4d03-b2bf-9437c0985453">
<name>ЮТИсполнительКлиентСервер</name>
<name>ЮТИсполнительСлужебныйКлиентСервер</name>
<synonym>
<key>ru</key>
<value>Исполнитель тестов</value>

View File

@ -88,11 +88,11 @@
ТипИсточника = ТипЗнч(Источник);
Если ТипИсточника = Тип("Структура") Или ТипИсточника = Тип("ФиксированнаяСтруктура") Тогда
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипИсточника) Тогда
Приемник = СкопироватьСтруктуру(Источник);
ИначеЕсли ТипИсточника = Тип("Соответствие") Или ТипИсточника = Тип("ФиксированноеСоответствие") Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипИсточника) Тогда
Приемник = СкопироватьСоответствие(Источник);
ИначеЕсли ТипИсточника = Тип("Массив") Или ТипИсточника = Тип("ФиксированныйМассив") Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипИсточника) Тогда
Приемник = СкопироватьМассив(Источник);
ИначеЕсли ТипИсточника = Тип("СписокЗначений") Тогда
Приемник = СкопироватьСписокЗначений(Источник);

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -20,7 +20,7 @@
Функция ФайлКомпоненты(Знач ИмяМакета, Знач ОперационнаяСистема, Знач Архитектура) Экспорт
Данные = ЮТОбщийВызовСервера.Макет(ИмяМакета);
Данные = ЮТОбщийСлужебныйВызовСервера.Макет(ИмяМакета);
ЧтениеАрхива = Новый ЧтениеZipФайла();
ЧтениеАрхива.Открыть(Данные.ОткрытьПотокДляЧтения());

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="20617de9-dab7-4587-a43a-4330e51bbc64">
<name>ЮТКомпонентыВызовСервера</name>
<name>ЮТКомпонентыСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Компоненты вызов сервера</value>

View File

@ -106,7 +106,7 @@
ОперационнаяСистема = MacOS;
Архитектура = x64;
Иначе
ЮТИсполнительКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы");
ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы");
КонецЕсли;
ПараметрыТихойУстановки.ОперационнаяСистема = ОперационнаяСистема;
@ -118,7 +118,7 @@
Процедура ПрочитатьФайлRegistry(ПараметрыТихойУстановки) Экспорт
#Если ВебКлиент Тогда
ЮТИсполнительКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry"));
ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry"));
Возврат;
#Иначе
ФайлРеестра = ЮТФайлы.ОбъединитьПути(ПараметрыТихойУстановки.РабочийКаталог, "registry.xml");
@ -134,7 +134,7 @@
Процедура ЗаписатьФайлRegistry(ПараметрыТихойУстановки) Экспорт
#Если ВебКлиент Тогда
ЮТИсполнительКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry"));
ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry"));
Возврат;
#Иначе
Если ПараметрыТихойУстановки.ИзмененРеестр Тогда
@ -188,7 +188,7 @@
Процедура ТихаяУстановкаВнешнейКомпоненты(Компонента, Параметры)
ДанныеФайла = ЮТКомпонентыВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура);
ДанныеФайла = ЮТКомпонентыСлужебныйВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура);
Если ЗаписатьВРеестр(Параметры.ДанныеРеестра, ДанныеФайла.ИмяФайла) Тогда
Параметры.ИзмененРеестр = Истина;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fde2e089-b73c-4596-b283-959c570ff45d">
<name>ЮТКомпонентыКлиент</name>
<name>ЮТКомпонентыСлужебныйКлиент</name>
<synonym>
<key>ru</key>
<value>Компоненты клиент</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -31,7 +31,7 @@
Вариант = Новый Структура(Реквизиты);
Варианты.КоличествоРеквизитов = Вариант.Количество();
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), Варианты);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), Варианты);
Возврат ЮТКонструкторВариантов;
@ -60,7 +60,7 @@
Параметр7 = Неопределено) Экспорт
// BSLLS:MagicNumber-off
// BSLLS:NumberOfValuesInStructureConstructor-off
Варианты = ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
Варианты = ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
Если Варианты.КоличествоРеквизитов = 1 Тогда
Вариант = Новый Структура(Варианты.Реквизиты, Параметр1);
@ -91,7 +91,7 @@
// Массив из Структура
Функция СписокВариантов() Экспорт
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()).Варианты;
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста()).Варианты;
КонецФункции

View File

@ -103,7 +103,7 @@
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
ПараметрыЗаписи.ОбменДаннымиЗагрузка = ОбменДаннымиЗагрузка;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
@ -113,7 +113,7 @@
Функция НовыйОбъект(Контекст) Экспорт
Возврат ЮТТестовыеДанныеВызовСервера.НовыйОбъект(Контекст.Менеджер, Контекст.Данные, Контекст.ДополнительныеСвойства);
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.НовыйОбъект(Контекст.Менеджер, Контекст.Данные, Контекст.ДополнительныеСвойства);
КонецФункции
@ -123,7 +123,7 @@
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТКонтекстСервер">
<suppressions key="com.e1c.v8codestyle.md:common-module-name-server-call" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -25,8 +25,8 @@
#Если НЕ Клиент Тогда
ВызватьИсключение "Метод `ИнициализироватьКонтекст` должен вызываться только с клиента";
#Иначе
ЮТКонтекстКлиент.ИнициализироватьКонтекст();
ЮТКонтекстСервер.ИнициализироватьКонтекст();
ЮТКонтекстСлужебныйКлиент.ИнициализироватьКонтекст();
ЮТКонтекстСлужебныйВызовСервера.ИнициализироватьКонтекст();
ОбновитьПовторноИспользуемыеЗначения();
#КонецЕсли
@ -40,10 +40,10 @@
Функция ДанныеКонтекста() Экспорт
#Если Клиент Тогда
Возврат ЮТКонтекстКлиент.ДанныеКонтекста();
Возврат ЮТКонтекстСлужебныйКлиент.ДанныеКонтекста();
#Иначе
//@skip-check constructor-function-return-section
Возврат ЮТКонтекстСервер.ДанныеКонтекста();
Возврат ЮТКонтекстСлужебныйВызовСервера.ДанныеКонтекста();
#КонецЕсли
КонецФункции
@ -60,7 +60,8 @@
#Если Клиент Тогда
Если ПолучитьССервера Тогда
Возврат ЮТКонтекстСервер.ЗначениеКонтекста(ИмяРеквизита);
//@skip-check constructor-function-return-section
Возврат ЮТКонтекстСлужебныйВызовСервера.ЗначениеКонтекста(ИмяРеквизита);
КонецЕсли;
#КонецЕсли
@ -101,7 +102,7 @@
#Если НЕ Сервер Тогда
Если УстановитьНаСервер Тогда
ЮТКонтекстСервер.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
ЮТКонтекстСлужебныйВызовСервера.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
КонецЕсли;
#КонецЕсли
@ -165,7 +166,7 @@
// Возвращает служебный контекст, содержит дополнительные детали ошибки теста
//
// Возвращаемое значение:
// Неопределено, Структура - Контекст ошибки, см. ЮТФабрика.ОписаниеКонтекстаОшибки
// Неопределено, Структура - Контекст ошибки, см. ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки
Функция КонтекстОшибки() Экспорт
//@skip-check constructor-function-return-section
@ -198,7 +199,7 @@
// КонтекстЧитателя
// Возвращает служебный контекста, данные используемые исполнителем тестов
// Возвращаемое значение:
// см. ЮТФабрика.НовыйКонтекстИсполнения
// см. ЮТФабрикаСлужебный.НовыйКонтекстИсполнения
Функция КонтекстИсполнения() Экспорт
//@skip-check constructor-function-return-section
@ -210,9 +211,9 @@
//
// Возвращаемое значение:
// - Неопределено
// - См. ЮТФабрика.ОписаниеТестовогоМодуля
// - См. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// - См. ЮТФабрика.ОписаниеИсполняемогоТеста
// - См. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// - См. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// - См. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
Функция КонтекстИсполненияТекущегоУровня() Экспорт
Уровни = ЮТФабрика.УровниИсполнения();
@ -262,7 +263,7 @@
Процедура УстановитьКонтекстОшибки() Экспорт
ДанныеОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки();
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки();
УстановитьЗначениеКонтекста(ИмяКонтекстаОшибки(), ДанныеОшибки);
КонецПроцедуры
@ -318,9 +319,9 @@
Процедура УдалитьКонтекст() Экспорт
#Если Клиент Тогда
ЮТКонтекстКлиент.УдалитьКонтекст();
ЮТКонтекстСлужебныйКлиент.УдалитьКонтекст();
#КонецЕсли
ЮТКонтекстСервер.УдалитьКонтекст();
ЮТКонтекстСлужебныйВызовСервера.УдалитьКонтекст();
КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="63f51e4d-3cf0-4109-b044-988cc723e206">
<name>ЮТКонтекст</name>
<name>ЮТКонтекстСлужебный</name>
<synonym>
<key>ru</key>
<value>Контекст тестового движка</value>

View File

@ -20,7 +20,7 @@
Процедура ИнициализироватьКонтекст() Экспорт
Контекст = ЮТКонтекст.ОписаниеКонтекста();
Контекст = ЮТКонтекстСлужебный.ОписаниеКонтекста();
АдресХранилища = ПоместитьВоВременноеХранилище(Контекст, Новый УникальныйИдентификатор());
ХранилищеОбщихНастроек.Сохранить(КлючНастроекКонтекста(), "АдресХранилища", АдресХранилища);
@ -48,13 +48,13 @@
// Значение - Произвольный - Новое значение реквизита/вложенного контекста
Процедура УстановитьЗначениеКонтекста(Знач ИмяРеквизита, Знач Значение) Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
КонецПроцедуры
Функция ЗначениеКонтекста(Знач ИмяРеквизита) Экспорт
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяРеквизита);
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяРеквизита);
КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d635e5c4-fe62-4953-8dcc-00d329307dcf">
<name>ЮТКонтекстСервер</name>
<name>ЮТКонтекстСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Контекст (сервер)</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -20,7 +20,7 @@
Процедура ИнициализироватьКонтекст() Экспорт
ЮТДанныеКонтекста = ЮТКонтекст.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off
ЮТДанныеКонтекста = ЮТКонтекстСлужебный.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off
КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b6fb384e-e98a-47d4-a070-7e4d57a301d2">
<name>ЮТКонтекстКлиент</name>
<name>ЮТКонтекстСлужебныйКлиент</name>
<synonym>
<key>ru</key>
<value>Контекст (клиент)</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -27,17 +27,17 @@
// Произвольный - Сохраненное в контексте значение
Функция Значение(ИмяЗначения) Экспорт
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения();
КонтекстТеста = ЮТКонтекст.КонтекстТеста();
КонтекстТеста = ЮТКонтекстСлужебный.КонтекстТеста();
Если Уровень = Уровни.Тест И КонтекстТеста <> Неопределено И КонтекстТеста.Свойство(ИмяЗначения) Тогда
Возврат КонтекстТеста[ИмяЗначения];
КонецЕсли;
КонтекстНабора = ЮТКонтекст.КонтекстНабора();
КонтекстНабора = ЮТКонтекстСлужебный.КонтекстНабора();
Если (Уровень = Уровни.НаборТестов ИЛИ Уровень = Уровни.Тест)
И КонтекстНабора <> Неопределено И КонтекстНабора.Свойство(ИмяЗначения) Тогда
@ -45,7 +45,7 @@
КонецЕсли;
КонтекстМодуля = ЮТКонтекст.КонтекстМодуля();
КонтекстМодуля = ЮТКонтекстСлужебный.КонтекстМодуля();
Если (Уровень = Уровни.Модуль ИЛИ Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов)
И КонтекстМодуля <> Неопределено И КонтекстМодуля.Свойство(ИмяЗначения) Тогда
@ -67,7 +67,7 @@
// Значение - Произвольный
Процедура УстановитьЗначение(ИмяЗначения, Значение) Экспорт
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения();
Контекст = ТекущийКонтекст();
@ -75,11 +75,11 @@
Если Контекст = Неопределено Тогда
Если Уровень = Уровни.Тест Тогда
ЮТКонтекст.УстановитьКонтекстТеста();
ЮТКонтекстСлужебный.УстановитьКонтекстТеста();
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
ЮТКонтекст.УстановитьКонтекстНабораТестов();
ЮТКонтекстСлужебный.УстановитьКонтекстНабораТестов();
ИначеЕсли Уровень = Уровни.Модуль Тогда
ЮТКонтекст.УстановитьКонтекстМодуля();
ЮТКонтекстСлужебный.УстановитьКонтекстМодуля();
Иначе
ВызватьИсключение СтрШаблон("Неизвестный уровень исполнения `%1`", Уровень);
КонецЕсли;
@ -98,20 +98,20 @@
// Неопределено, Структура, Произвольный - Текущий контекст
Функция ТекущийКонтекст() Экспорт
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения();
Если Уровень = Уровни.Тест Тогда
Контекст = ЮТКонтекст.КонтекстТеста();
Контекст = ЮТКонтекстСлужебный.КонтекстТеста();
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
Контекст = ЮТКонтекст.КонтекстНабора();
Контекст = ЮТКонтекстСлужебный.КонтекстНабора();
ИначеЕсли Уровень = Уровни.Модуль Тогда
Контекст = ЮТКонтекст.КонтекстМодуля();
Контекст = ЮТКонтекстСлужебный.КонтекстМодуля();
Иначе

View File

@ -24,7 +24,7 @@
// Сообщение - Строка - Сообщение
Процедура Отладка(Сообщение) Экспорт
Записать("DBG", Сообщение, 0);
ЮТЛогированиеСлужебный.Записать("DBG", Сообщение, 0);
КонецПроцедуры
@ -34,7 +34,7 @@
// Сообщение - Строка - Сообщение
Процедура Информация(Сообщение) Экспорт
Записать("INF", Сообщение, 1);
ЮТЛогированиеСлужебный.Записать("INF", Сообщение, 1);
КонецПроцедуры
@ -44,7 +44,7 @@
// Сообщение - Строка - Сообщение
Процедура Ошибка(Сообщение) Экспорт
Записать("ERR", Сообщение, 2);
ЮТЛогированиеСлужебный.Записать("ERR", Сообщение, 2);
КонецПроцедуры
@ -58,375 +58,4 @@
КонецФункции
Процедура ВывестиСерверныеСообщения() Экспорт
#Если Клиент Тогда
Контекст = Контекст();
Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ФайлЛогаДоступенНаСервере Тогда
Возврат;
КонецЕсли;
Сообщения = ЮТЛогированиеВызовСервера.НакопленныеСообщенияЛогирования(Истина);
ЗаписатьСообщения(Контекст, Сообщения);
#Иначе
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ВывестиСерверныеСообщения");
#КонецЕсли
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ОбработчикиСобытий
// Инициализация.
//
// Параметры:
// ПараметрыЗапуска - см. ЮТФабрика.ПараметрыЗапуска
Процедура Инициализация(ПараметрыЗапуска) Экспорт
УровниЛога = УровниЛога();
ДанныеКонтекста = НовыйДанныеКонтекста();
ДанныеКонтекста.ФайлЛога = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "file");
ДанныеКонтекста.ВыводВКонсоль = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "console", Ложь);
ДанныеКонтекста.Включено = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "enable", Неопределено);
УровеньЛога = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "level", УровниЛога.Отладка);
Если ДанныеКонтекста.Включено = Неопределено Тогда
ДанныеКонтекста.Включено = ДанныеКонтекста.ВыводВКонсоль ИЛИ ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога);
КонецЕсли;
Если НЕ ДанныеКонтекста.Включено Тогда
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
Возврат;
КонецЕсли;
Если СтрСравнить(УровеньЛога, УровниЛога.Ошибка) = 0 Тогда
ДанныеКонтекста.УровеньЛога = 2;
ИначеЕсли СтрСравнить(УровеньЛога, УровниЛога.Информация) = 0 Тогда
ДанныеКонтекста.УровеньЛога = 1;
Иначе
ДанныеКонтекста.УровеньЛога = 0;
КонецЕсли;
ЗначениеПроверки = Строка(Новый УникальныйИдентификатор());
ЗаписатьСообщения(ДанныеКонтекста, ЮТКоллекции.ЗначениеВМассиве(ЗначениеПроверки), Ложь);
ДанныеКонтекста.ФайлЛогаДоступенНаСервере = ЮТЛогированиеВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки);
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
Разделитель = "------------------------------------------------------";
ЗаписатьСообщения(ДанныеКонтекста, ЮТКоллекции.ЗначениеВМассиве(Разделитель), Ложь);
Информация("Старт");
КонецПроцедуры
// Обработка события "ПередЧтениеСценариев"
Процедура ПередЧтениеСценариев() Экспорт
Информация("Загрузка сценариев");
КонецПроцедуры
// Перед чтением сценариев модуля.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
Информация(СтрШаблон("Загрузка сценариев модуля `%1`", МетаданныеМодуля.Имя));
КонецПроцедуры
// Перед чтением сценариев модуля.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
Информация(СтрШаблон("Загрузка сценариев модуля завершена `%1`", МетаданныеМодуля.Имя));
КонецПроцедуры
// Обработка события "ПослеЧтенияСценариев"
// Параметры:
// Сценарии - Массив из см. ЮТФабрика.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
Процедура ПослеЧтенияСценариев(Сценарии) Экспорт
Информация("Загрузка сценариев завершена.");
КонецПроцедуры
// Обработка события "ПослеФормированияИсполняемыхНаборовТестов"
// Параметры:
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
Процедура ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули) Экспорт
Количество = 0;
Для Каждого ТестовыйМодуль Из ИсполняемыеТестовыеМодули Цикл
Для Каждого Набор Из ТестовыйМодуль.НаборыТестов Цикл
Если Набор.Выполнять Тогда
ЮТОбщий.Инкремент(Количество, Набор.Тесты.Количество());
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".ОбщееКоличествоТестов", Количество, Истина);
КонецПроцедуры
// Перед всеми тестами.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
Процедура ПередВсемиТестами(ОписаниеСобытия) Экспорт
#Если Клиент Тогда
ПрогрессКлиент = Контекст().КоличествоВыполненныхТестов;
ПрогрессСервер = ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Истина);
Если ПрогрессКлиент < ПрогрессСервер Тогда
Контекст().КоличествоВыполненныхТестов = ПрогрессСервер;
КонецЕсли;
#КонецЕсли
Информация(СтрШаблон("Запуск тестов модуля `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
КонецПроцедуры
// Перед тестовым набором.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
Процедура ПередТестовымНабором(ОписаниеСобытия) Экспорт
Информация(СтрШаблон("Запуск тестов набора `%1`", ОписаниеСобытия.Набор.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
Информация(СтрШаблон("Запуск теста `%1`", ОписаниеСобытия.Тест.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст) Тогда
Возврат;
КонецЕсли;
ЮТОбщий.Инкремент(Контекст.КоличествоВыполненныхТестов);
Информация(СтрШаблон("%1 Завершен тест `%2`", Прогресс(), ОписаниеСобытия.Тест.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
Процедура ПослеТестовогоНабора(ОписаниеСобытия) Экспорт
Информация(СтрШаблон("Завершен тестовый набор `%1`", ОписаниеСобытия.Набор.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
Процедура ПослеВсехТестов(ОписаниеСобытия) Экспорт
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст) Тогда
Возврат;
КонецЕсли;
#Если Клиент Тогда
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Контекст.КоличествоВыполненныхТестов, Истина);
#КонецЕсли
Информация(СтрШаблон("Завершен модуль `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
КонецПроцедуры
#КонецОбласти
#Область Контекст
// Контекст.
//
// Возвращаемое значение:
// см. НовыйДанныеКонтекста
Функция Контекст()
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаЛогирования());
КонецФункции
Функция ИмяКонтекстаЛогирования()
Возврат "КонтекстЛогирования";
КонецФункции
// Новый данные контекста.
//
// Возвращаемое значение:
// Структура - Новый данные контекста:
// * Включено - Булево - Логирование включено
// * ФайлЛога - Неопределено - Файл вывода лога
// * ВыводВКонсоль- Булево - Вывод лога в консоль
// * ФайлЛогаДоступенНаСервере - Булево - Файл лога доступен на сервере
// * НакопленныеЗаписи - Массив из Строка - Буфер для серверных сообщений
// * ОбщееКоличествоТестов - Число
// * КоличествоВыполненныхТестов - Число
// * УровеньЛога - Число - Уровень логирования
Функция НовыйДанныеКонтекста()
ДанныеКонтекста = Новый Структура();
ДанныеКонтекста.Вставить("Включено", Ложь);
ДанныеКонтекста.Вставить("ФайлЛога", Неопределено);
ДанныеКонтекста.Вставить("ВыводВКонсоль", Ложь);
ДанныеКонтекста.Вставить("ФайлЛогаДоступенНаСервере", Ложь);
ДанныеКонтекста.Вставить("НакопленныеЗаписи", Новый Массив());
ДанныеКонтекста.Вставить("ОбщееКоличествоТестов", 0);
ДанныеКонтекста.Вставить("КоличествоВыполненныхТестов", 0);
ДанныеКонтекста.Вставить("УровеньЛога", 0);
Возврат ДанныеКонтекста;
КонецФункции
#КонецОбласти
#Область Запись
Функция ЛогированиеВключено(Знач Контекст = Неопределено, Приоритет = Неопределено)
Если Контекст = Неопределено Тогда
Контекст = Контекст();
КонецЕсли;
Возврат Контекст <> Неопределено И Контекст.Включено И (Приоритет = Неопределено ИЛИ Контекст.УровеньЛога <= Приоритет);
КонецФункции
Функция НакопленныеСообщенияЛогирования(Очистить = Ложь) Экспорт
Контекст = Контекст();
Сообщения = Контекст.НакопленныеЗаписи;
Если Очистить Тогда
Контекст.НакопленныеЗаписи = Новый Массив();
КонецЕсли;
Возврат Сообщения;
КонецФункции
Процедура Записать(УровеньЛога, Сообщение, Приоритет)
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст, Приоритет) Тогда
Возврат;
КонецЕсли;
#Если Клиент Тогда
КонтекстИсполнения = "Клиент";
#Иначе
КонтекстИсполнения = "Сервер";
#КонецЕсли
Текст = СтрШаблон("%1 [%2][%3]: %4", ЮТОбщий.ПредставлениеУниверсальнойДата(), КонтекстИсполнения, УровеньЛога, Сообщение);
#Если Клиент Тогда
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
#Иначе
Если Контекст.ФайлЛогаДоступенНаСервере Тогда
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
Иначе
Контекст.НакопленныеЗаписи.Добавить(Текст);
КонецЕсли;
#КонецЕсли
КонецПроцедуры
Процедура ЗаписатьСообщения(Контекст, Сообщения, Дописывать = Истина)
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьСообщения");
#Иначе
Если Контекст.ВыводВКонсоль Тогда
ЗаписатьЛогВКонсоль(Сообщения);
КонецЕсли;
Если ЗначениеЗаполнено(Контекст.ФайлЛога) Тогда
ЗаписатьЛогВФайл(Контекст.ФайлЛога, Сообщения, Дописывать);
КонецЕсли;
#КонецЕсли
КонецПроцедуры
Процедура ЗаписатьЛогВФайл(ФайлЛога, Сообщения, Дописывать = Истина)
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВФайл");
#Иначе
Запись = Новый ЗаписьТекста(ФайлЛога, КодировкаТекста.UTF8, , Дописывать);
Для Каждого Сообщение Из Сообщения Цикл
Запись.ЗаписатьСтроку(Сообщение);
КонецЦикла;
Запись.Закрыть();
#КонецЕсли
КонецПроцедуры
Процедура ЗаписатьЛогВКонсоль(Сообщения)
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВКонсоль");
#Иначе
//@skip-check empty-except-statement
Попытка
Для Каждого Сообщение Из Сообщения Цикл
ЮТОбщий.ВывестиВКонсоль(Сообщение);
КонецЦикла;
Исключение
// Игнорируем ошибку
КонецПопытки;
#КонецЕсли
КонецПроцедуры
Функция Прогресс()
Контекст = Контекст();
Прогресс = Окр(100 * Контекст.КоличествоВыполненныхТестов / Контекст.ОбщееКоличествоТестов, 0);
Возврат СтрШаблон("%1%% (%2/%3)", Прогресс, Контекст.КоличествоВыполненныхТестов, Контекст.ОбщееКоличествоТестов);
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -0,0 +1,393 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// 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.
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
Процедура Записать(УровеньЛога, Сообщение, Приоритет) Экспорт
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст, Приоритет) Тогда
Возврат;
КонецЕсли;
#Если Клиент Тогда
КонтекстИсполнения = "Клиент";
#Иначе
КонтекстИсполнения = "Сервер";
#КонецЕсли
Текст = СтрШаблон("%1 [%2][%3]: %4", ЮТОбщий.ПредставлениеУниверсальнойДата(), КонтекстИсполнения, УровеньЛога, Сообщение);
#Если Клиент Тогда
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
#Иначе
Если Контекст.ФайлЛогаДоступенНаСервере Тогда
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
Иначе
Контекст.НакопленныеЗаписи.Добавить(Текст);
КонецЕсли;
#КонецЕсли
КонецПроцедуры
Процедура ВывестиСерверныеСообщения() Экспорт
#Если Клиент Тогда
Контекст = Контекст();
Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ФайлЛогаДоступенНаСервере Тогда
Возврат;
КонецЕсли;
Сообщения = ЮТЛогированиеСлужебныйВызовСервера.НакопленныеСообщенияЛогирования(Истина);
ЗаписатьСообщения(Контекст, Сообщения);
#Иначе
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ВывестиСерверныеСообщения");
#КонецЕсли
КонецПроцедуры
Функция НакопленныеСообщенияЛогирования(Очистить = Ложь) Экспорт
Контекст = Контекст();
Сообщения = Контекст.НакопленныеЗаписи;
Если Очистить Тогда
Контекст.НакопленныеЗаписи = Новый Массив();
КонецЕсли;
Возврат Сообщения;
КонецФункции
#Область ОбработчикиСобытий
// Инициализация.
//
// Параметры:
// ПараметрыЗапуска - см. ЮТФабрика.ПараметрыЗапуска
Процедура Инициализация(ПараметрыЗапуска) Экспорт
УровниЛога = ЮТЛогирование.УровниЛога();
ДанныеКонтекста = НовыйДанныеКонтекста();
ДанныеКонтекста.ФайлЛога = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "file");
ДанныеКонтекста.ВыводВКонсоль = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "console", Ложь);
ДанныеКонтекста.Включено = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "enable", Неопределено);
УровеньЛога = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "level", УровниЛога.Отладка);
Если ДанныеКонтекста.Включено = Неопределено Тогда
ДанныеКонтекста.Включено = ДанныеКонтекста.ВыводВКонсоль ИЛИ ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога);
КонецЕсли;
Если НЕ ДанныеКонтекста.Включено Тогда
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
Возврат;
КонецЕсли;
Если СтрСравнить(УровеньЛога, УровниЛога.Ошибка) = 0 Тогда
ДанныеКонтекста.УровеньЛога = 2;
ИначеЕсли СтрСравнить(УровеньЛога, УровниЛога.Информация) = 0 Тогда
ДанныеКонтекста.УровеньЛога = 1;
Иначе
ДанныеКонтекста.УровеньЛога = 0;
КонецЕсли;
ЗначениеПроверки = Строка(Новый УникальныйИдентификатор());
ЗаписатьСообщения(ДанныеКонтекста, ЮТКоллекции.ЗначениеВМассиве(ЗначениеПроверки), Ложь);
ДанныеКонтекста.ФайлЛогаДоступенНаСервере = ЮТЛогированиеСлужебныйВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
Разделитель = "------------------------------------------------------";
ЗаписатьСообщения(ДанныеКонтекста, ЮТКоллекции.ЗначениеВМассиве(Разделитель), Ложь);
ЮТЛогирование.Информация("Старт");
КонецПроцедуры
// Обработка события "ПередЧтениеСценариев"
Процедура ПередЧтениеСценариев() Экспорт
ЮТЛогирование.Информация("Загрузка сценариев");
КонецПроцедуры
// Перед чтением сценариев модуля.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
ЮТЛогирование.Информация(СтрШаблон("Загрузка сценариев модуля `%1`", МетаданныеМодуля.Имя));
КонецПроцедуры
// Перед чтением сценариев модуля.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
ЮТЛогирование.Информация(СтрШаблон("Загрузка сценариев модуля завершена `%1`", МетаданныеМодуля.Имя));
КонецПроцедуры
// Обработка события "ПослеЧтенияСценариев"
// Параметры:
// Сценарии - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
Процедура ПослеЧтенияСценариев(Сценарии) Экспорт
ЮТЛогирование.Информация("Загрузка сценариев завершена.");
КонецПроцедуры
// Обработка события "ПослеФормированияИсполняемыхНаборовТестов"
// Параметры:
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
Процедура ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули) Экспорт
Количество = 0;
Для Каждого ТестовыйМодуль Из ИсполняемыеТестовыеМодули Цикл
Для Каждого Набор Из ТестовыйМодуль.НаборыТестов Цикл
Если Набор.Выполнять Тогда
ЮТОбщий.Инкремент(Количество, Набор.Тесты.Количество());
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".ОбщееКоличествоТестов", Количество, Истина);
КонецПроцедуры
// Перед всеми тестами.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПередВсемиТестами(ОписаниеСобытия) Экспорт
#Если Клиент Тогда
Контекст = Контекст();
ПрогрессКлиент = Контекст.КоличествоВыполненныхТестов;
ПрогрессСервер = ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Истина);
Если ПрогрессКлиент < ПрогрессСервер Тогда
Контекст.КоличествоВыполненныхТестов = ПрогрессСервер;
КонецЕсли;
#КонецЕсли
ЮТЛогирование.Информация(СтрШаблон("Запуск тестов модуля `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
КонецПроцедуры
// Перед тестовым набором.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПередТестовымНабором(ОписаниеСобытия) Экспорт
ЮТЛогирование.Информация(СтрШаблон("Запуск тестов набора `%1`", ОписаниеСобытия.Набор.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
ЮТЛогирование.Информация(СтрШаблон("Запуск теста `%1`", ОписаниеСобытия.Тест.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст) Тогда
Возврат;
КонецЕсли;
ЮТОбщий.Инкремент(Контекст.КоличествоВыполненныхТестов);
ЮТЛогирование.Информация(СтрШаблон("%1 Завершен тест `%2`", Прогресс(), ОписаниеСобытия.Тест.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПослеТестовогоНабора(ОписаниеСобытия) Экспорт
ЮТЛогирование.Информация(СтрШаблон("Завершен тестовый набор `%1`", ОписаниеСобытия.Набор.Имя));
КонецПроцедуры
// Перед каждым тестом.
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПослеВсехТестов(ОписаниеСобытия) Экспорт
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст) Тогда
Возврат;
КонецЕсли;
#Если Клиент Тогда
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Контекст.КоличествоВыполненныхТестов, Истина);
#КонецЕсли
ЮТЛогирование.Информация(СтрШаблон("Завершен модуль `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Запись
Функция ЛогированиеВключено(Знач Контекст = Неопределено, Приоритет = Неопределено)
Если Контекст = Неопределено Тогда
Контекст = Контекст();
КонецЕсли;
Возврат Контекст <> Неопределено И Контекст.Включено И (Приоритет = Неопределено ИЛИ Контекст.УровеньЛога <= Приоритет);
КонецФункции
Процедура ЗаписатьСообщения(Контекст, Сообщения, Дописывать = Истина)
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьСообщения");
#Иначе
Если Контекст.ВыводВКонсоль Тогда
ЗаписатьЛогВКонсоль(Сообщения);
КонецЕсли;
Если ЗначениеЗаполнено(Контекст.ФайлЛога) Тогда
ЗаписатьЛогВФайл(Контекст.ФайлЛога, Сообщения, Дописывать);
КонецЕсли;
#КонецЕсли
КонецПроцедуры
Процедура ЗаписатьЛогВФайл(ФайлЛога, Сообщения, Дописывать = Истина)
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВФайл");
#Иначе
Запись = Новый ЗаписьТекста(ФайлЛога, КодировкаТекста.UTF8, , Дописывать);
Для Каждого Сообщение Из Сообщения Цикл
Запись.ЗаписатьСтроку(Сообщение);
КонецЦикла;
Запись.Закрыть();
#КонецЕсли
КонецПроцедуры
Процедура ЗаписатьЛогВКонсоль(Сообщения)
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВКонсоль");
#Иначе
//@skip-check empty-except-statement
Попытка
Для Каждого Сообщение Из Сообщения Цикл
ЮТОбщий.ВывестиВКонсоль(Сообщение);
КонецЦикла;
Исключение
// Игнорируем ошибку
КонецПопытки;
#КонецЕсли
КонецПроцедуры
Функция Прогресс()
Контекст = Контекст();
Прогресс = Окр(100 * Контекст.КоличествоВыполненныхТестов / Контекст.ОбщееКоличествоТестов, 0);
Возврат СтрШаблон("%1%% (%2/%3)", Прогресс, Контекст.КоличествоВыполненныхТестов, Контекст.ОбщееКоличествоТестов);
КонецФункции
#КонецОбласти
#Область Контекст
// Контекст.
//
// Возвращаемое значение:
// см. НовыйДанныеКонтекста
Функция Контекст()
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекстаЛогирования());
КонецФункции
Функция ИмяКонтекстаЛогирования()
Возврат "КонтекстЛогирования";
КонецФункции
// Новый данные контекста.
//
// Возвращаемое значение:
// Структура - Новый данные контекста:
// * Включено - Булево - Логирование включено
// * ФайлЛога - Неопределено - Файл вывода лога
// * ВыводВКонсоль- Булево - Вывод лога в консоль
// * ФайлЛогаДоступенНаСервере - Булево - Файл лога доступен на сервере
// * НакопленныеЗаписи - Массив из Строка - Буфер для серверных сообщений
// * ОбщееКоличествоТестов - Число
// * КоличествоВыполненныхТестов - Число
// * УровеньЛога - Число - Уровень логирования
Функция НовыйДанныеКонтекста()
ДанныеКонтекста = Новый Структура();
ДанныеКонтекста.Вставить("Включено", Ложь);
ДанныеКонтекста.Вставить("ФайлЛога", Неопределено);
ДанныеКонтекста.Вставить("ВыводВКонсоль", Ложь);
ДанныеКонтекста.Вставить("ФайлЛогаДоступенНаСервере", Ложь);
ДанныеКонтекста.Вставить("НакопленныеЗаписи", Новый Массив());
ДанныеКонтекста.Вставить("ОбщееКоличествоТестов", 0);
ДанныеКонтекста.Вставить("КоличествоВыполненныхТестов", 0);
ДанныеКонтекста.Вставить("УровеньЛога", 0);
Возврат ДанныеКонтекста;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5b4dec7c-1651-401d-86d7-27a06b0e218f">
<name>ЮТЛогированиеСлужебный</name>
<synonym>
<key>ru</key>
<value>Логирование служебный</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<server>true</server>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -20,7 +20,7 @@
Функция НакопленныеСообщенияЛогирования(Знач Очистить = Ложь) Экспорт
Возврат ЮТЛогирование.НакопленныеСообщенияЛогирования(Очистить);
Возврат ЮТЛогированиеСлужебный.НакопленныеСообщенияЛогирования(Очистить);
КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="26bf7a99-a09f-44c9-9aad-12eb45a8f186">
<name>ЮТЛогированиеВызовСервера</name>
<name>ЮТЛогированиеСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Логирование (вызов сервера)</value>

View File

@ -16,7 +16,7 @@
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
#Область ПрограммныйИнтерфейс
// Модули подсистемы.
// Возвращает список модулей подсистемы
@ -29,7 +29,7 @@
// Массив из Строка - Имена модулей входящих в подсистему
Функция МодулиПодсистемы(ИмяПодсистемы, Серверные = Истина, Клиентские = Истина) Экспорт
Возврат ЮТМетаданныеПовтИсп.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
Возврат ЮТМетаданныеСлужебныйПовтИсп.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
КонецФункции
@ -43,15 +43,12 @@
// - Произвольный - Объект информационной базы
//
// Возвращаемое значение:
// Структура - Описание менеджера:
// * ОписаниеТипа - см. ЮТМетаданныеСервер.ОписаниеТипаМетаданных
// * Реквизиты - Структура из см. ЮТФабрика.ОписаниеРеквизита
// * ТабличныеЧасти - Структура из Структура -
// см. СтруктураОписанияОбъектаМетаданных
Функция ОписаниеОбъектаМетаданных(Знач Значение) Экспорт
ТипЗначения = ТипЗнч(Значение);
Если ТипЗначения = Тип("Структура") И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
//@skip-check constructor-function-return-section
Возврат Значение;
КонецЕсли;
@ -72,10 +69,10 @@
Если ТипЗначения = ТипТип Тогда
ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования
//@skip-check constructor-function-return-section
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
Возврат ЮТМетаданныеСлужебныйПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
Иначе
//@skip-check constructor-function-return-section
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданных(Значение);
Возврат ЮТМетаданныеСлужебныйПовтИсп.ОписаниеОбъектаМетаданных(Значение);
КонецЕсли;
КонецФункции
@ -96,7 +93,7 @@
Функция ТипыМетаданных() Экспорт
Возврат ЮТМетаданныеПовтИсп.ТипыМетаданных();
Возврат ЮТМетаданныеСлужебныйПовтИсп.ТипыМетаданных();
КонецФункции
@ -110,7 +107,7 @@
Функция РазрешеныСинхронныеВызовы() Экспорт
Возврат ЮТМетаданныеПовтИсп.РазрешеныСинхронныеВызовы();
Возврат ЮТМетаданныеСлужебныйПовтИсп.РазрешеныСинхронныеВызовы();
КонецФункции
@ -132,13 +129,96 @@
ПолноеИмя = СтрШаблон("%1.%2", ОписаниеОбъектаМетаданных.ОписаниеТипа.ИмяКоллекции, ОписаниеОбъектаМетаданных.Имя);
Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя);
Возврат ЮТМетаданныеСлужебныйПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя);
КонецФункции
// Возвращает текущую версию тестового движка (YAxUnit)
//
// Возвращаемое значение:
// Строка - Версия движка
Функция ВерсияДвижка() Экспорт
Возврат ЮТМетаданныеПовтИсп.ВерсияДвижка();
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВерсияДвижка();
КонецФункции
// Описание типа объекта метаданных.
//
// Возвращаемое значение:
// Структура - Описание типа метаданных:
// * Имя - Строка
// * ИмяКоллекции - Строка
// * Конструктор - Строка
// * Группы - Булево
// * Ссылочный - Булево
// * Регистр - Булево
// * ОбработкаОтчет - Булево
// * СтандартныеРеквизиты - Булево
// * Реквизиты - Булево
// * Измерения - Булево
// * Ресурсы - Булево
// * РеквизитыАдресации - Булево
// * ТабличныеЧасти - Булево
Функция ОписаниеТипаМетаданных() Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", "");
Описание.Вставить("ИмяКоллекции", "");
Описание.Вставить("Конструктор", "");
Описание.Вставить("Группы", Ложь);
Описание.Вставить("Ссылочный", Ложь);
Описание.Вставить("Регистр", Ложь);
Описание.Вставить("ОбработкаОтчет", Ложь);
Описание.Вставить("СтандартныеРеквизиты", Ложь);
Описание.Вставить("Реквизиты", Ложь);
Описание.Вставить("Измерения", Ложь);
Описание.Вставить("Ресурсы", Ложь);
Описание.Вставить("РеквизитыАдресации", Ложь);
Описание.Вставить("ТабличныеЧасти", Ложь);
Возврат Описание;
КонецФункции
// Описание объекта метаданных.
//
// Возвращаемое значение:
// Структура - Описание объекта метаданных:
// * Имя - Строка
// * ОписаниеТипа - см. ОписаниеТипаМетаданных
// * Реквизиты - Структура
// * ТабличныеЧасти - Структура
Функция СтруктураОписанияОбъектаМетаданных() Экспорт
Описание = Новый Структура;
Описание.Вставить("Имя", "");
Описание.Вставить("ОписаниеТипа", Неопределено);
Описание.Вставить("Реквизиты", Новый Структура());
Описание.Вставить("ТабличныеЧасти", Новый Структура());
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// Описание реквизита объекта метаданных
//
// Возвращаемое значение:
// Структура - Описание реквизита:
// * Имя - Строка
// * Тип - ОписаниеТипов
// * Обязательный - Булево
// * ЭтоКлюч - Булево
Функция ОписаниеРеквизита() Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", "");
Описание.Вставить("Тип", Новый ОписаниеТипов("Неопределено"));
Описание.Вставить("Обязательный", Ложь);
Описание.Вставить("ЭтоКлюч", Ложь);
Возврат Описание;
КонецФункции

View File

@ -22,7 +22,7 @@
// Выполняет чтение метаданных общих модулей, которые предположительно могут являться тестами
//
// Возвращаемое значение:
// Массив из см. ЮТФабрика.ОписаниеМодуля - Коллекция описаний моделей, структуру элемента см. ЮТФабрика.ОписаниеМодуля
// Массив из см. ЮТФабрикаСлужебный.ОписаниеМодуля - Коллекция описаний моделей, структуру элемента см. ЮТФабрикаСлужебный.ОписаниеМодуля
Функция МодулиРасширений() Экспорт
УстановитьПривилегированныйРежим(Истина);
@ -98,7 +98,7 @@
КонецЕсли;
КонецЕсли;
Описание = ЮТФабрика.ОписаниеМодуля();
Описание = ЮТФабрикаСлужебный.ОписаниеМодуля();
Описание.Имя = Модуль.Имя;
Описание.КлиентУправляемоеПриложение = Модуль.КлиентУправляемоеПриложение;
Описание.КлиентОбычноеПриложение = Модуль.КлиентОбычноеПриложение;
@ -117,11 +117,9 @@
МетаданныеОбъекта = ОбъектМетаданных(Значение);
ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта);
ОписаниеОбъект = Новый Структура;
ОписаниеОбъект.Вставить("Имя", МетаданныеОбъекта.Имя);
ОписаниеОбъект.Вставить("ОписаниеТипа", ОписаниеТипа);
ОписаниеОбъект.Вставить("Реквизиты", Новый Структура());
ОписаниеОбъект.Вставить("ТабличныеЧасти", Новый Структура());
ОписаниеОбъект = ЮТМетаданные.СтруктураОписанияОбъектаМетаданных();
ОписаниеОбъект.Имя = МетаданныеОбъекта.Имя;
ОписаниеОбъект.ОписаниеТипа = ОписаниеТипа;
ЮТОбщий.УказатьТипСтруктуры(ОписаниеОбъект, "ОписаниеОбъектаМетаданных");
Если НЕ ЗаполнятьРеквизиты Тогда
@ -159,7 +157,7 @@
КонецЕсли;
Возврат ОписаниеОбъект;
Возврат Новый ФиксированнаяСтруктура(ОписаниеОбъект);
КонецФункции
@ -169,20 +167,7 @@
// МетаданныеОбъекта - Тип, ОбъектМетаданных - Тип
//
// Возвращаемое значение:
// Структура - Описание типа метаданных:
// * Имя - Строка
// * ИмяКоллекции - Строка
// * Конструктор - Строка
// * Группы - Булево
// * Ссылочный - Булево
// * Регистр - Булево
// * ОбработкаОтчет - Булево
// * СтандартныеРеквизиты - Булево
// * Реквизиты - Булево
// * Измерения - Булево
// * Ресурсы - Булево
// * РеквизитыАдресации - Булево
// * ТабличныеЧасти - Булево
// см. ЮТМетаданные.ОписаниеТипаМетаданных
Функция ОписаниеТипаМетаданных(Знач МетаданныеОбъекта) Экспорт
Если ТипЗнч(МетаданныеОбъекта) = Тип("Тип") Тогда
@ -193,13 +178,16 @@
ЧастиИмени = СтрРазделить(ПолноеИмя, ".");
Типы = ЮТМетаданные.ТипыМетаданных();
Если Типы.Свойство(ЧастиИмени[0]) Тогда
Возврат Типы[ЧастиИмени[0]];
Иначе
Если НЕ Типы.Свойство(ЧастиИмени[0]) Тогда
Сообщение = СтрШаблон("Получение описания для '%1' не поддерживается, либо не реализовано", ЧастиИмени[0]);
ВызватьИсключение Сообщение;
КонецЕсли;
Описание = ЮТМетаданные.ОписаниеТипаМетаданных();
ЗаполнитьЗначенияСвойств(Описание, Типы[ЧастиИмени[0]]);
//@skip-check constructor-function-return-section
Возврат Новый ФиксированнаяСтруктура(Описание);
КонецФункции
Функция ТипыМетаданных() Экспорт
@ -288,7 +276,7 @@
ОбъектМетаданных = ОбъектМетаданныхИзСтроки(Значение);
ИначеЕсли ТипЗначение = Тип("Структура") И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначение) И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда
ОбъектМетаданных = Метаданные[Значение.ОписаниеТипа.ИмяКоллекции][Значение.Имя];
@ -299,7 +287,7 @@
КонецЕсли;
Если ОбъектМетаданных = Неопределено Тогда
Сообщение = ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСервер.ОбъектМетаданных", Значение);
Сообщение = ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСлужебныйВызовСервера.ОбъектМетаданных", Значение);
ВызватьИсключение Сообщение;
КонецЕсли;
@ -342,15 +330,27 @@
ЭтоКлюч = ИменаКлючевыхПолей.Найти(Реквизит.Имя) <> Неопределено;
КонецЕсли;
КоллекцияОписаний.Вставить(Реквизит.Имя, ЮТФабрика.ОписаниеРеквизита(Реквизит, ЭтоКлюч));
КоллекцияОписаний.Вставить(Реквизит.Имя, НовоеОписаниеРеквизита(Реквизит, ЭтоКлюч));
КонецЦикла;
КонецПроцедуры
Функция НовоеОписаниеРеквизита(Реквизит, ЭтоКлюч)
Описание = ЮТМетаданные.ОписаниеРеквизита();
Описание.Имя = Реквизит.Имя;
Описание.Тип = Реквизит.Тип;
Описание.Обязательный = Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку;
Описание.ЭтоКлюч = ЭтоКлюч;
Возврат Описание;
КонецФункции
Функция ВерсияДвижка() Экспорт
Возврат Метаданные.ОбщиеМодули.ЮТМетаданныеСервер.РасширениеКонфигурации().Версия;
Возврат Метаданные.ОбщиеМодули.ЮТМетаданныеСлужебныйВызовСервера.РасширениеКонфигурации().Версия;
КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="42510142-f01c-4ab2-b615-8970bdcc7a1b">
<name>ЮТМетаданныеСервер</name>
<name>ЮТМетаданныеСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Метаданные (сервер)</value>

View File

@ -20,50 +20,50 @@
Функция МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские) Экспорт
Возврат ЮТМетаданныеСервер.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
Возврат ЮТМетаданныеСлужебныйВызовСервера.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
КонецФункции
Функция ОписаниеОбъектаМетаданных(Знач Менеджер) Экспорт
Возврат ЮТМетаданныеСервер.ОписаниеОбъектаМетаданных(Менеджер);
Возврат ЮТМетаданныеСлужебныйВызовСервера.ОписаниеОбъектаМетаданных(Менеджер);
КонецФункции
Функция ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(Знач ИдентификаторТипа) Экспорт
Тип = ЮТТипыДанныхСлужебный.ТипПоИдентификатору(ИдентификаторТипа);
Возврат ЮТМетаданныеСервер.ОписаниеОбъектаМетаданных(Тип);
Возврат ЮТМетаданныеСлужебныйВызовСервера.ОписаниеОбъектаМетаданных(Тип);
КонецФункции
Функция ТипыМетаданных() Экспорт
Возврат ЮТМетаданныеСервер.ТипыМетаданных();
Возврат ЮТМетаданныеСлужебныйВызовСервера.ТипыМетаданных();
КонецФункции
Функция РазрешеныСинхронныеВызовы() Экспорт
Возврат ЮТМетаданныеСервер.РазрешеныСинхронныеВызовы();
Возврат ЮТМетаданныеСлужебныйВызовСервера.РазрешеныСинхронныеВызовы();
КонецФункции
Функция РегистрыДвиженийДокумента(ПолноеИмя) Экспорт
Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ПолноеИмя);
Возврат ЮТМетаданныеСлужебныйВызовСервера.РегистрыДвиженийДокумента(ПолноеИмя);
КонецФункции
Функция ВариантВстроенногоЯзыка() Экспорт
Возврат ЮТМетаданныеСервер.ВариантВстроенногоЯзыка();
Возврат ЮТМетаданныеСлужебныйВызовСервера.ВариантВстроенногоЯзыка();
КонецФункции
Функция ВерсияДвижка() Экспорт
Возврат ЮТМетаданныеСервер.ВерсияДвижка();
Возврат ЮТМетаданныеСлужебныйВызовСервера.ВерсияДвижка();
КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8158c080-39e9-4597-a230-b009ae6abbb4">
<name>ЮТМетаданныеПовтИсп</name>
<name>ЮТМетаданныеСлужебныйПовтИсп</name>
<synonym>
<key>ru</key>
<value>Метаданные (повторного использования)</value>

View File

@ -60,8 +60,8 @@
Ошибка = ВыполнитьМетод(Алгоритм);
ТипОшибки = ЮТРегистрацияОшибок.ТипОшибки(Ошибка, ПолноеИмяМетода);
Возврат ТипОшибки = ЮТФабрика.ТипыОшибок().МногоПараметров;
ТипОшибки = ЮТРегистрацияОшибокСлужебный.ТипОшибки(Ошибка, ПолноеИмяМетода);
Возврат ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().МногоПараметров;
КонецФункции
@ -85,8 +85,8 @@
Ошибка = ВыполнитьМетод(Алгоритм, , Объект);
ТипОшибки = ЮТРегистрацияОшибок.ТипОшибки(Ошибка, ПолноеИмяМетода);
Возврат ТипОшибки = ЮТФабрика.ТипыОшибок().МногоПараметров;
ТипОшибки = ЮТРегистрацияОшибокСлужебный.ТипОшибки(Ошибка, ПолноеИмяМетода);
Возврат ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().МногоПараметров;
#КонецЕсли
КонецФункции

View File

@ -16,8 +16,12 @@
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
#Область ПрограммныйИнтерфейс
// Возвращает значение настройки "ВТранзакции" для текущего исполняемого объекта (тест, набор, модуль)
//
// Возвращаемое значение:
// Булево
Функция ВТранзакции() Экспорт
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции;
@ -26,6 +30,10 @@
КонецФункции
// Возвращает значение настройки "УдалениеТестовыхДанных" для текущего исполняемого объекта (тест, набор, модуль)
//
// Возвращаемое значение:
// Булево
Функция УдалениеТестовыхДанных() Экспорт
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().УдалениеТестовыхДанных;
@ -34,6 +42,11 @@
КонецФункции
// Возвращает значение настройки "Перед" для текущего исполняемого объекта (тест, набор, модуль)
// Возвращает имя назначенного обработчика события (имя метода) "Перед".
//
// Возвращаемое значение:
// Строка
Функция Перед() Экспорт
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().Перед;
@ -42,6 +55,11 @@
КонецФункции
// Возвращает значение настройки "После" для текущего исполняемого объекта (тест, набор, модуль)
// Возвращает имя назначенного обработчика события (имя метода) "После".
//
// Возвращаемое значение:
// Строка
Функция После() Экспорт
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().После;
@ -50,14 +68,25 @@
КонецФункции
// Возвращает значение произвольной настройки для текущего исполняемого объекта (тест, набор, модуль)
//
// Параметры:
// ИмяНастройки - Строка - Имя настройки, см. ЮТФабрика.ПараметрыИсполненияТеста
// ЗначениеПоУмолчанию - Произвольный - Значение по умолчанию
// СтрогийУровеньИсполнения - Булево - Признак, стоит ли проверять наличие настройки у родительских элементов.
// Ложь - По умолчанию, будет выполнен поиск и получение значения для родетелей (набор, модуль), если значения для текущего элемента не установлено.
// Истина - Получение настройки только для текущего элемента.
//
// Возвращаемое значение:
// Произвольный, Неопределено, Булево, Строка - Значение настройки теста
Функция ЗначениеНастройкиТеста(ИмяНастройки, ЗначениеПоУмолчанию, СтрогийУровеньИсполнения = Ложь) Экспорт
Значение = ЗначениеПоУмолчанию;
КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения();
КонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполнения();
Если СтрогийУровеньИсполнения Тогда
ТекущийКонтекстИсполнения = ЮТКонтекст.КонтекстИсполненияТекущегоУровня();
ТекущийКонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполненияТекущегоУровня();
Если ТекущийКонтекстИсполнения <> Неопределено Тогда
Значение = ЮТКоллекции.ЗначениеСтруктуры(ТекущийКонтекстИсполнения.НастройкиВыполнения, ИмяНастройки, ЗначениеПоУмолчанию);
@ -77,7 +106,7 @@
Иначе
ГлобальныеНастройки = ЮТКонтекст.ГлобальныеНастройкиВыполнения();
ГлобальныеНастройки = ЮТКонтекстСлужебный.ГлобальныеНастройкиВыполнения();
Если ГлобальныеНастройки.Свойство(ИмяНастройки) Тогда
Значение = ГлобальныеНастройки[ИмяНастройки];

View File

@ -37,7 +37,7 @@
Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда
#Если ВебКлиент Или ТонкийКлиент Тогда
Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение);
Значение = ЮТОбщийСлужебныйВызовСервера.ИзХранилищаЗначений(Значение);
#Иначе
Значение = Значение.Получить();
#КонецЕсли
@ -64,7 +64,7 @@
// Строка
Функция ХешMD5(Данные) Экспорт
Возврат ЮТОбщийВызовСервера.ХешMD5(Данные);
Возврат ЮТОбщийСлужебныйВызовСервера.ХешMD5(Данные);
КонецФункции
@ -641,7 +641,7 @@
Функция УстановленБезопасныйРежим() Экспорт
Возврат ЮТОбщийВызовСервера.УстановленБезопасныйРежим();
Возврат ЮТОбщийСлужебныйВызовСервера.УстановленБезопасныйРежим();
КонецФункции
@ -670,7 +670,7 @@
Функция Менеджер(Знач Менеджер) Экспорт
#Если Сервер Тогда
Возврат ЮТОбщийВызовСервера.Менеджер(Менеджер);
Возврат ЮТОбщийСлужебныйВызовСервера.Менеджер(Менеджер);
#Иначе
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТОбщий.Менеджер", "клиенте");
#КонецЕсли
@ -746,7 +746,7 @@
// ТабличныйДокумент, ТекстовыйДокумент, ДвоичныеДанные - Макет или его область
Функция Макет(ИмяМакета) Экспорт
Возврат ЮТОбщийВызовСервера.Макет(ИмяМакета);
Возврат ЮТОбщийСлужебныйВызовСервера.Макет(ИмяМакета);
КонецФункции

View File

@ -106,13 +106,13 @@
Функция ЭтоАнглийскийВстроенныйЯзык() Экспорт
Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "English";
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВариантВстроенногоЯзыка() = "English";
КонецФункции
Функция ЭтоРусскийВстроенныйЯзык() Экспорт
Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "Русский";
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВариантВстроенногоЯзыка() = "Русский";
КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b201e731-51e5-44cd-808a-b51b4fed556f">
<name>ЮТОбщийВызовСервера</name>
<name>ЮТОбщийСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Общий (вызов сервера)</value>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТОтчет">
<suppressions key="com.e1c.v8codestyle.md:common-module-name-client" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -20,9 +20,9 @@
Функция ПараметрыГенерацииОтчета() Экспорт
Параметры = ЮТФабрика.ПараметрыГенератораОтчета();
Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("allure", "Allure 2 (json)");
ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("allure", "Allure 2 (json)");
ОписаниеФормата.ЗаписьВКаталог = Истина;
ОписаниеФормата.СамостоятельнаяЗаписьОтчета = Истина;
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7126a7d9-4afd-4a54-8e1b-191773cfc65b">
<name>ЮТОтчетAllure</name>
<name>ЮТОтчетAllureСлужебный</name>
<synonym>
<key>ru</key>
<value>Отчет allure</value>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТОтчетJSON">
<suppressions key="com.e1c.v8codestyle.md:common-module-name-client" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -20,9 +20,9 @@
Функция ПараметрыГенерацииОтчета() Экспорт
Параметры = ЮТФабрика.ПараметрыГенератораОтчета();
Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("dumpjson", "Дамп результата тестирования в json");
ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("dumpjson", "Дамп результата тестирования в json");
ОписаниеФормата.ИмяФайлаПоУмолчанию = "report.json";
ОписаниеФормата.ФильтрВыбораФайла = "Дамп результата тестирования (*.json)|*.json";
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
@ -34,8 +34,8 @@
// Формирует отчет в формате JSON
//
// Параметры:
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// Формат - см. ЮТФабрика.ОписаниеФорматаОтчета
// РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Формат - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
// Возвращаемое значение:
// ДвоичныеДанные - Данные отчета
Функция ДанныеОтчета(РезультатВыполнения, Формат) Экспорт

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f477925a-39e1-4150-a0c4-897bbaee9433">
<name>ЮТОтчетJSON</name>
<name>ЮТОтчетJSONСлужебный</name>
<synonym>
<key>ru</key>
<value>Отчет JSON</value>

View File

@ -20,9 +20,9 @@
Функция ПараметрыГенерацииОтчета() Экспорт
Параметры = ЮТФабрика.ПараметрыГенератораОтчета();
Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("jUnit", "JUnit");
ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("jUnit", "JUnit");
ОписаниеФормата.ИмяФайлаПоУмолчанию = "junit.xml";
ОписаниеФормата.ФильтрВыбораФайла = "jUnit(*.xml)|*.xml";
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
@ -34,8 +34,8 @@
// Формирует отчет в формате jUnit
//
// Параметры:
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// Формат - см. ЮТФабрика.ОписаниеФорматаОтчета
// РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Формат - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
//
// Возвращаемое значение:
// ДвоичныеДанные - Данные отчета
@ -53,7 +53,7 @@
// Формирует отчет (xml-файл) и возвращает его в виде двоичных данных
//
// Параметры:
// РезультатТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// РезультатТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Возвращаемое значение:
// ДвоичныеДанные - полученный отчет
Функция СформироватьОтчетОТестировании(РезультатТестирования)
@ -104,7 +104,7 @@
Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл
Статус = ЮТРегистрацияОшибок.СтатусОшибки(ОписаниеОшибки.ТипОшибки);
Статус = ЮТРегистрацияОшибокСлужебный.СтатусОшибки(ОписаниеОшибки.ТипОшибки);
ИмяУзла = Неопределено;
ЗаписатьЗначения = Ложь;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="44860213-5b5a-4765-960c-07c8d1ca6f08">
<name>ЮТОтчетJUnit</name>
<name>ЮТОтчетJUnitСлужебный</name>
<synonym>
<key>ru</key>
<value>Отчет jUnit</value>

View File

@ -21,7 +21,7 @@
// СформироватьОтчет
// Формирует отчет о результатах тестирования по заданным параметрам
// Параметры:
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// ПараметрыЗапуска - Структура - Параметры запуска, см. ЮТФабрика.ПараметрыЗапуска
// Обработчик - ОписаниеОповещения
Процедура СформироватьОтчет(РезультатВыполнения, ПараметрыЗапуска, Обработчик) Экспорт
@ -56,10 +56,10 @@
// Возвращаемое значение:
// Структура - Поддерживаемые форматы отчетов
// + Ключ - Идентификатор формата
// + Значение - см. ЮТФабрика.ОписаниеФорматаОтчета
// + Значение - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
Функция ПоддерживаемыеФорматыОтчетов() Экспорт
Модули = ЮТРасширения.ГенераторыОтчетов();
Модули = ЮТРасширенияСлужебный.ГенераторыОтчетов();
Форматы = Новый Структура;
Для Каждого Модуль Из Модули Цикл
@ -106,7 +106,7 @@
Функция МодульФормирования(Формат)
Модули = ЮТРасширения.ГенераторыОтчетов();
Модули = ЮТРасширенияСлужебный.ГенераторыОтчетов();
Для Каждого Модуль Из Модули Цикл

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="335b2e32-96e1-49dd-ace4-5b2eb8478c12">
<name>ЮТОтчет</name>
<name>ЮТОтчетСлужебный</name>
<synonym>
<key>ru</key>
<value>Отчет</value>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТПараметрыЗапуска">
<suppressions key="com.e1c.v8codestyle.md:common-module-name-client" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -34,7 +34,7 @@
Исключение
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуИнициализацииДвижка(ИнформацияОбОшибке(), "Ошибка чтения параметров запуска");
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуИнициализацииДвижка(ИнформацияОбОшибке(), "Ошибка чтения параметров запуска");
Параметры = ЮТФабрика.ПараметрыЗапуска();
КонецПопытки;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a0e947cd-ee15-4ae9-bf95-21ed64042227">
<name>ЮТПараметрыЗапуска</name>
<name>ЮТПараметрыЗапускаСлужебный</name>
<synonym>
<key>ru</key>
<value>Параметры</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -29,7 +29,7 @@
// ФиксированныйМассив из Строка
Функция Словарь(ИмяРеализации, ИмяСловаря, Знач КодЛокализации = Неопределено) Экспорт
КодЛокализации = ?(КодЛокализации = Неопределено, ЮТПодражатель.Локализация(), КодЛокализации);
Возврат ЮТПодражательПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации);
Возврат ЮТПодражательСлужебныйПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации);
КонецФункции
// Случайное значение из словаря.
@ -49,7 +49,7 @@
// см. НовыйКонтекст
Функция Контекст() Экспорт
//@skip-check constructor-function-return-section
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
КонецФункции
// Инициализирует подражатель
@ -58,7 +58,7 @@
// ОбщийМодуль - Этот модуль для замыкания
Функция Инициализировать() Экспорт
Если Контекст() = Неопределено Тогда
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
КонецЕсли;
Возврат ЮТПодражатель;
КонецФункции

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1e6f3296-03af-4bd2-b52a-d89f576e7166">
<name>ЮТПодражательВызовСервера</name>
<name>ЮТПодражательСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Подражатель вызов сервера</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -29,7 +29,7 @@
// ФиксированныйМассив из Строка
Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации) Экспорт
Кодификатор = КодификаторСловаря(ИмяРеализации, ИмяСловаря, КодЛокализации);
Возврат Новый ФиксированныйМассив(ЮТПодражательВызовСервера.ДанныеСловаря(Кодификатор));
Возврат Новый ФиксированныйМассив(ЮТПодражательСлужебныйВызовСервера.ДанныеСловаря(Кодификатор));
КонецФункции
#КонецОбласти

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6974dbbd-182e-43c6-94e3-e19696766e0f">
<name>ЮТПодражательПовтИсп</name>
<name>ЮТПодражательСлужебныйПовтИсп</name>
<synonym>
<key>ru</key>
<value>Подражатель повт исп</value>

View File

@ -325,7 +325,7 @@
// ОбщийМодуль - Этот модуль для замыкания
Функция Инициализировать(Условия = Неопределено) Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
Если ЗначениеЗаполнено(Условия) Тогда
Для Каждого Элемент Из Условия Цикл
@ -370,7 +370,7 @@
Функция Контекст()
//@skip-check constructor-function-return-section
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
КонецФункции

View File

@ -28,10 +28,10 @@
// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры
//
// Возвращаемое значение:
// см. ЮТФабрика.ОписаниеРезультатаПроверки
// см. ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки
Функция ПроверитьПредикаты(Знач Значение, Знач Предикаты, Знач ПараметрыСообщенийОбОшибке = Неопределено, ПараметрыСравнения = Неопределено) Экспорт
Результат = ЮТФабрика.ОписаниеРезультатаПроверки();
Результат = ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки();
Если ПараметрыСообщенийОбОшибке = Неопределено Тогда
ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке();
@ -40,7 +40,7 @@
Предикаты = НаборПредикатов(Предикаты);
Для Каждого Выражение Из Предикаты Цикл
ЮТСравнениеКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
ЮТСравнениеСлужебныйКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
Если НЕ Результат.Успешно Тогда
Прервать;
КонецЕсли;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5b901b35-80b5-4dfc-87f9-dfb014f682be">
<name>ЮТПредикатыКлиентСервер</name>
<name>ЮТПредикатыСлужебныйКлиентСервер</name>
<synonym>
<key>ru</key>
<value>Предикаты клиент сервер</value>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3183c284-253d-4826-9b75-d540f433c4c1">
<name>ЮТПреобразования</name>
<name>ЮТПреобразованияСлужебный</name>
<synonym>
<key>ru</key>
<value>Преобразования</value>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="046f36ab-7601-4cea-9e2a-275c438cba47">
<name>ЮТРасширения</name>
<name>ЮТРасширенияСлужебный</name>
<synonym>
<key>ru</key>
<value>Расширения функциональности</value>

View File

@ -24,12 +24,12 @@
//
// Параметры:
// ИмяСобытия - Строка
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
// Ошибка - ИнформацияОбОшибке
// - Строка
Процедура ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка) Экспорт
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия;
ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ОшибкаОбработкиСобытия;
Пояснение = ЮТСообщенияСлужебный.СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка);
ДанныеОшибки = ДанныеОшибки(Ошибка, Пояснение, ТипОшибки);
@ -48,27 +48,27 @@
// Регистрирует ошибку загрузки тестов
//
// Параметры:
// Объект - Структура - см. ЮТФабрика.ОписаниеТестовогоМодуля или см. ЮТФабрика.ОписаниеТестовогоНабора или см. ЮТФабрика.ОписаниеТеста
// Объект - Структура - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля или см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора или см. ЮТФабрикаСлужебный.ОписаниеТеста
// Описание - Строка - Описания ошибки, места возникновения
// Ошибка - ИнформацияОбОшибке
Процедура ЗарегистрироватьОшибкуЧтенияТестов(Объект, Описание, Ошибка) Экспорт
ДанныеОшибки = ДанныеОшибки(Ошибка, Описание, ЮТФабрика.ТипыОшибок().ЧтенияТестов);
ДанныеОшибки = ДанныеОшибки(Ошибка, Описание, ЮТФабрикаСлужебный.ТипыОшибок().ЧтенияТестов);
Объект.Ошибки.Добавить(ДанныеОшибки);
КонецПроцедуры
// Регистрирует ошибку выполнения теста
// Параметры:
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
// Ошибка - ИнформацияОбОшибке
Процедура ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка) Экспорт
ТипОшибки = ТипОшибки(Ошибка, Тест.ПолноеИмяМетода);
Если ТипОшибки = ЮТФабрика.ТипыОшибок().Утверждений Тогда
Если ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().Утверждений Тогда
ДанныеОшибки = ДанныеОшибкиУтверждений(Ошибка);
ИначеЕсли ТипОшибки = ЮТФабрика.ТипыОшибок().Пропущен Тогда
ИначеЕсли ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().Пропущен Тогда
ДанныеОшибки = ДанныеОшибкиПропуска(Ошибка);
Иначе
ДанныеОшибки = ДанныеОшибки(Ошибка, ЮТСообщенияСлужебный.КраткоеСообщениеОшибки(Ошибка), ТипОшибки);
@ -80,22 +80,22 @@
// Регистрирует ошибку выполнения теста
// Параметры:
// Объект - см. ЮТФабрика.ОписаниеИсполняемогоТеста
// Объект - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
// Сообщение - Строка
Процедура ЗарегистрироватьПростуюОшибкуВыполнения(Объект, Сообщение) Экспорт
ДанныеОшибки = ДанныеОшибки(Неопределено, Сообщение, ЮТФабрика.ТипыОшибок().Исполнения);
ДанныеОшибки = ДанныеОшибки(Неопределено, Сообщение, ЮТФабрикаСлужебный.ТипыОшибок().Исполнения);
Объект.Ошибки.Добавить(ДанныеОшибки);
КонецПроцедуры
// Регистрирует ошибку режима выполнения теста
// Параметры:
// Объект - см. ЮТФабрика.ОписаниеИсполняемогоТеста
// Объект - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
// Ошибка - Строка
Процедура ЗарегистрироватьОшибкуРежимаВыполнения(Объект, Ошибка) Экспорт
ДанныеОшибки = ДанныеОшибки(Неопределено, Ошибка, ЮТФабрика.ТипыОшибок().НекорректныйКонтекстИсполнения);
ДанныеОшибки = ДанныеОшибки(Неопределено, Ошибка, ЮТФабрикаСлужебный.ТипыОшибок().НекорректныйКонтекстИсполнения);
Объект.Ошибки.Добавить(ДанныеОшибки);
КонецПроцедуры
@ -106,10 +106,10 @@
//
// Параметры:
// ИнформацияОбОшибке - ИнформацияОбОшибке
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
Процедура СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке, ОписаниеПроверки = Неопределено) Экспорт
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
СтруктураОшибки.ОшибкаУтверждения = Ложь;
ВызватьОшибкуИсполнения(ИнформацияОбОшибке, ОписаниеПроверки);
@ -120,7 +120,7 @@
// При этом сохраняет в контекст состояние, для дальнейшей обработки
//
// Параметры:
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
// Сообщение - Строка
// ПроверяемоеЗначение - Произвольный
// ОжидаемоеЗначение - Произвольный
@ -141,7 +141,7 @@
// При этом сохраняет в контекст состояние, для дальнейшей обработки
//
// Параметры:
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
// Сообщение - Строка
// ПроверяемоеЗначение - Произвольный
// ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения
@ -155,7 +155,7 @@
Процедура Пропустить(Сообщение) Экспорт
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
СтруктураОшибки.ОшибкаУтверждения = Ложь;
СообщениеОбОшибке = СообщениеОбОшибке(Сообщение, ПрефиксОшибкиПропуска());
@ -174,10 +174,10 @@
КонецФункции
// Вызывает ошибку выполнения теста
// Служебный метод, предварительно нужно самостоятельно настроить контекст (см. ЮТКонтекст.КонтекстОшибки)
// Служебный метод, предварительно нужно самостоятельно настроить контекст (см. ЮТКонтекстСлужебный.КонтекстОшибки)
// Параметры:
// ТекстСообщения - Строка
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
Процедура ВызватьОшибкуПроверки(Знач ТекстСообщения, ОписаниеПроверки = Неопределено) Экспорт
СообщениеОбОшибке = СообщениеОбОшибке(ТекстСообщения, ПрефиксОшибкиУтверждений(), ОписаниеПроверки);
@ -198,10 +198,10 @@
// ИмяВызываемогоМетода - Строка - Имя вызываемого метода
//
// Возвращаемое значение:
// Строка - см. ЮТФабрика.ТипыОшибок
// Строка - см. ЮТФабрикаСлужебный.ТипыОшибок
Функция ТипОшибки(Ошибка, ИмяВызываемогоМетода) Экспорт
ТипыОшибок = ЮТФабрика.ТипыОшибок();
ТипыОшибок = ЮТФабрикаСлужебный.ТипыОшибок();
Описание = Ошибка.Описание;
@ -297,7 +297,7 @@
Функция СтатусОшибки(ТипОшибки) Экспорт
СтатусОшибки = ЮТФабрика.ПараметрыТиповОшибок()[ТипОшибки].Статус;
СтатусОшибки = ЮТФабрикаСлужебный.ПараметрыТиповОшибок()[ТипОшибки].Статус;
Если СтатусОшибки = Неопределено Тогда
СтатусОшибки = ЮТФабрика.СтатусыИсполненияТеста().Сломан;
@ -309,7 +309,7 @@
Процедура УстановитьДанныеОшибкиСравнения(ПроверяемоеЗначение, ОжидаемоеЗначение) Экспорт
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
СтруктураОшибки.ОшибкаУтверждения = Истина;
СтруктураОшибки.ПроверяемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ПроверяемоеЗначение);
@ -319,7 +319,7 @@
Процедура УстановитьДанныеОшибкиУтверждения(ПроверяемоеЗначение) Экспорт
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
СтруктураОшибки.ОшибкаУтверждения = Истина;
СтруктураОшибки.ПроверяемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ПроверяемоеЗначение);
@ -355,7 +355,7 @@
Процедура ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение) Экспорт
ОписаниеКонтекстаОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки();
ОписаниеКонтекстаОшибки = ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки();
ОписаниеКонтекстаОшибки.ПроверяемоеЗначение = ПроверяемоеЗначение;
ОписаниеКонтекстаОшибки.ОжидаемоеЗначение = ОжидаемоеЗначение;
ОписаниеКонтекстаОшибки.ОшибкаУтверждения = Истина;
@ -368,7 +368,7 @@
Процедура ДобавитьПояснениеОшибки(Пояснение) Экспорт
Детали = ЮТКонтекст.КонтекстДеталиОшибки();
Детали = ЮТКонтекстСлужебный.КонтекстДеталиОшибки();
Установить = Детали = Неопределено;
Если Установить Тогда
@ -378,7 +378,7 @@
Детали.Добавить(Пояснение);
Если Установить Тогда
ЮТКонтекст.УстановитьКонтекстДеталиОшибки(Детали);
ЮТКонтекстСлужебный.УстановитьКонтекстДеталиОшибки(Детали);
КонецЕсли;
КонецПроцедуры
@ -392,10 +392,10 @@
Функция ДанныеОшибки(Ошибка, Знач Сообщение, ТипОшибки)
#Если Сервер Тогда
Детали = ЮТКонтекст.КонтекстДеталиОшибки(Истина);
Детали = ЮТКонтекстСлужебный.КонтекстДеталиОшибки(Истина);
#Иначе
ДеталиСервер = ЮТКонтекст.КонтекстДеталиОшибки(Истина);
ДеталиКлиент = ЮТКонтекст.КонтекстДеталиОшибки();
ДеталиСервер = ЮТКонтекстСлужебный.КонтекстДеталиОшибки(Истина);
ДеталиКлиент = ЮТКонтекстСлужебный.КонтекстДеталиОшибки();
Если ЗначениеЗаполнено(ДеталиКлиент) И ЗначениеЗаполнено(ДеталиСервер) Тогда
ЮТКоллекции.ДополнитьМассив(ДеталиСервер, ДеталиКлиент);
@ -410,13 +410,13 @@
#КонецЕсли
Если ЗначениеЗаполнено(Детали) Тогда
ЮТКонтекст.УстановитьКонтекстДеталиОшибки(Новый Массив());
ЮТКонтекстСлужебный.УстановитьКонтекстДеталиОшибки(Новый Массив());
Детали.Добавить(Сообщение);
Сообщение = СтрСоединить(Детали, Символы.ПС);
КонецЕсли;
ДанныеОшибки = ЮТФабрика.ОписаниеВозникшейОшибки(ТипОшибки + ": " + Сообщение);
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки(ТипОшибки + ": " + Сообщение);
Если Ошибка <> Неопределено Тогда
ДанныеОшибки.Стек = СтекОшибки(Ошибка);
@ -442,12 +442,12 @@
Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиУтверждений());
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиСравнения(Описание);
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеОшибкиСравнения(Описание);
ДанныеОшибки.Стек = СтекОшибки(Ошибка);
ДобавитьСообщенияПользователю(ДанныеОшибки);
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
Если СтруктураОшибки <> Неопределено И СтруктураОшибки.ОшибкаУтверждения Тогда
ДанныеОшибки.ПроверяемоеЗначение = СтруктураОшибки.ПроверяемоеЗначение;
@ -462,7 +462,7 @@
Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиПропуска());
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиПропуска(Описание);
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеОшибкиПропуска(Описание);
Возврат ДанныеОшибки;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b3a750a1-8a8c-4b01-8968-ad88af6839de">
<name>ЮТРегистрацияОшибок</name>
<name>ЮТРегистрацияОшибокСлужебный</name>
<synonym>
<key>ru</key>
<value>Регистрация ошибок</value>

View File

@ -20,7 +20,7 @@
Функция АдресСерверногоКонтекста() Экспорт
Возврат ЮТКонтекстСервер.АдресСерверногоКонтекста(Ложь);
Возврат ЮТКонтекстСлужебныйВызовСервера.АдресСерверногоКонтекста(Ложь);
КонецФункции
@ -32,13 +32,13 @@
Функция ПараметрыТиповОшибок() Экспорт
Возврат ЮТФабрика.ПараметрыТиповОшибок(Ложь);
Возврат ЮТФабрикаСлужебный.ПараметрыТиповОшибок(Ложь);
КонецФункции
Функция ОписаниеТиповЛюбаяСсылка() Экспорт
Возврат ЮТОбщийВызовСервера.ОписаниеТиповЛюбаяСсылка();
Возврат ЮТОбщийСлужебныйВызовСервера.ОписаниеТиповЛюбаяСсылка();
КонецФункции

View File

@ -30,13 +30,13 @@
// Обработчик события "ПередВсемиТестамиМодуля"
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
Процедура ПередВсемиТестамиМодуля(ТестовыйМодуль) Экспорт
УстановитьКонтекстИсполнения(ТестовыйМодуль);
ЮТКонтекст.УстановитьКонтекстМодуля();
ЮТКонтекстСлужебный.УстановитьКонтекстМодуля();
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
ВызватьОбработкуСобытия("ПередВсемиТестами", ОписаниеСобытия);
КонецПроцедуры
@ -44,14 +44,14 @@
// Обработчик события "ПередТестовымНабором"
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
Процедура ПередТестовымНабором(ТестовыйМодуль, Набор) Экспорт
УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор);
ЮТКонтекст.УстановитьКонтекстНабораТестов();
ЮТКонтекстСлужебный.УстановитьКонтекстНабораТестов();
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
ВызватьОбработкуСобытия("ПередТестовымНабором", ОписаниеСобытия);
КонецПроцедуры
@ -59,15 +59,15 @@
// Обработчик события "ПередКаждымТестом"
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест) Экспорт
// Установка контекста исполнения вызывается в см. ЮТИсполнительКлиентСервер.ПередКаждымТестом
ЮТКонтекст.УстановитьКонтекстТеста();
// Установка контекста исполнения вызывается в см. ЮТИсполнительСлужебныйКлиентСервер.ПередКаждымТестом
ЮТКонтекстСлужебный.УстановитьКонтекстТеста();
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
ПолучитьСообщенияПользователю(Истина);
@ -80,12 +80,12 @@
// Обработчик события "ПослеКаждогоТеста"
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
Процедура ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест) Экспорт
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
ВызватьОбработкуСобытий(ЮТКоллекции.ЗначениеВМассиве("ПослеТеста", "ПослеКаждогоТеста"), ОписаниеСобытия);
@ -96,11 +96,11 @@
// Обработчик события "ПослеТестовогоНабора"
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
Процедура ПослеТестовогоНабора(ТестовыйМодуль, Набор) Экспорт
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
ВызватьОбработкуСобытия("ПослеТестовогоНабора", ОписаниеСобытия);
УстановитьКонтекстИсполнения(ТестовыйМодуль);
@ -110,10 +110,10 @@
// Обработчик события "ПослеВсехТестовМодуля"
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
Процедура ПослеВсехТестовМодуля(ТестовыйМодуль) Экспорт
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
ВызватьОбработкуСобытия("ПослеВсехТестов", ОписаниеСобытия);
УстановитьКонтекстИсполнения();
@ -123,7 +123,7 @@
// Перед выполнением тестов.
//
// Параметры:
// ИсполняемыеМодули - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// ИсполняемыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
Процедура ПередВыполнениемТестов(ИсполняемыеМодули) Экспорт
Параметры = ЮТКоллекции.ЗначениеВМассиве(ИсполняемыеМодули);
@ -134,7 +134,7 @@
// После выполнения тестов.
//
// Параметры:
// РезультатТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
// РезультатТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
Процедура ПослеВыполненияТестов(РезультатТестирования) Экспорт
Параметры = ЮТКоллекции.ЗначениеВМассиве(РезультатТестирования);
@ -157,7 +157,7 @@
// Обработчик события "ПередЧтениемСценариевМодуля"
// Позволяет настроить базовые параметры перед чтением настроек тестов модуля
// Параметры:
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля) Экспорт
Параметры = ЮТКоллекции.ЗначениеВМассиве(МетаданныеМодуля);
@ -168,7 +168,7 @@
// После чтения сценариев модуля.
// Позволяет настроить/обработать параметры загруженных настроек тестов модуля
// Параметры:
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
@ -179,7 +179,7 @@
// Обработка события "ПослеЧтенияСценариев"
// Параметры:
// Сценарии - Массив из см. ЮТФабрика.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
// Сценарии - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
Процедура ПослеЧтенияСценариев(Сценарии) Экспорт
Параметры = ЮТКоллекции.ЗначениеВМассиве(Сценарии);
@ -189,7 +189,7 @@
// Обработка события "ПослеФормированияИсполняемыхНаборовТестов"
// Параметры:
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
Процедура ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули) Экспорт
Параметры = ЮТКоллекции.ЗначениеВМассиве(ИсполняемыеТестовыеМодули);
@ -206,7 +206,7 @@
Процедура УстановитьКонтекстИсполнения(ТестовыйМодуль = Неопределено, Набор = Неопределено, Тест = Неопределено) Экспорт
Уровни = ЮТФабрика.УровниИсполнения();
КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения();
КонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполнения();
КонтекстИсполнения.Модуль = ТестовыйМодуль;
КонтекстИсполнения.Набор = Набор;
@ -264,7 +264,7 @@
Ошибки = Новый Массив();
Для Каждого ИмяМодуля Из ЮТРасширения.ОбработчикиСобытий() Цикл
Для Каждого ИмяМодуля Из ЮТРасширенияСлужебный.ОбработчикиСобытий() Цикл
Если ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия);
@ -285,7 +285,7 @@
//
// Параметры:
// ИмяСобытия - Строка - Имя вызываемого метода обработки события
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
//
Процедура ВызватьОбработчикТестовогоМодуля(Знач ИмяСобытия, ОписаниеСобытия)
@ -326,7 +326,7 @@
Процедура ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки)
Для Каждого Ошибка Из Ошибки Цикл
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
КонецЦикла;
КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ca6c9c95-667f-46b9-bed3-5d59df601a1c">
<name>ЮТСобытия</name>
<name>ЮТСобытияСлужебный</name>
<synonym>
<key>ru</key>
<value>Генератор событий</value>

View File

@ -21,7 +21,7 @@
// Форматированный текст ошибки утверждения.
//
// Параметры:
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
// ТекстОжидания - Строка - Описание ожидания
// ОбъектПроверки - Строка - Объект проверки
//
@ -65,7 +65,7 @@
// Строка - Сообщение об ошибке события
Функция СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка) Экспорт
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия;
ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ОшибкаОбработкиСобытия;
Возврат СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, КраткоеСообщениеОшибки(Ошибка));
КонецФункции
@ -80,7 +80,6 @@
КонецФункции
// Формирует строковое представление значения. Для значений, преобразуемых в пустые строки, добавляет описание типа.
//
// Параметры:

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТСравнениеСервер">
<suppressions key="com.e1c.v8codestyle.md:common-module-name-server-call" value="true"/>
</suppress:SuppressGenericObject>

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -35,7 +35,7 @@
Индекс = Данные1.Количество() - 1;
Пока Индекс >= 0 Цикл
Если НЕ ЮТСравнениеКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда
Если НЕ ЮТСравнениеСлужебныйКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда
Возврат Ложь;
КонецЕсли;
Индекс = Индекс - 1;
@ -69,7 +69,7 @@
КонецЕсли;
Если УчитыватьТолькоВидимыеКолонки И УчитыватьТолькоВидимыеСтроки Тогда
ЮТОбщийВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента);
ЮТОбщийСлужебныйВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента);
КонецЕсли;
НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a047687f-04fa-4f9a-beba-acbaf559f9d0">
<name>ЮТСравнениеСервер</name>
<name>ЮТСравнениеСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Сравнение сервер</value>

View File

@ -51,23 +51,23 @@
Результат = Неопределено;
Если ЭтоТипСтруктура(ТипЗначения) Тогда
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) Тогда
Результат = СтруктурыРавны(Данные1, Данные2);
ИначеЕсли ЭтоТипСоответствие(ТипЗначения) Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипЗначения) Тогда
Результат = СоответствияРавны(Данные1, Данные2);
ИначеЕсли ЭтоТипМассива(ТипЗначения) Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипЗначения) Тогда
Результат = МассивыРавны(Данные1, Данные2);
ИначеЕсли ТипЗначения = Тип("ТабличныйДокумент") Тогда
Результат = ЮТСравнениеСервер.ТабличныеДокументыРавны(Данные1, Данные2);
Результат = ЮТСравнениеСлужебныйВызовСервера.ТабличныеДокументыРавны(Данные1, Данные2);
ИначеЕсли ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
// Возвращаем ложь, так как для этих типов должно сработать обычное равенство
Результат = Ложь;
КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off
@ -75,7 +75,7 @@
#Если Сервер Тогда
Если ТипЗначения = Тип("ТаблицаЗначений") Тогда
Результат = ЮТСравнениеСервер.ТаблицыРавны(Данные1, Данные2);
Результат = ЮТСравнениеСлужебныйВызовСервера.ТаблицыРавны(Данные1, Данные2);
ИначеЕсли ТипЗначения = Тип("ХранилищеЗначения") Тогда
@ -127,7 +127,7 @@
//
// Возвращаемое значение:
// Структура - Параметры проверки:
// * ОбъектПроверки - см. ЮТФабрика.ОписаниеПроверяемогоЗначения
// * ОбъектПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверяемогоЗначения
// * ПрефиксОшибки - Строка, Неопределено -
// * ОписаниеПроверки - Строка, Неопределено -
// * ВидСравнения - Строка
@ -136,7 +136,7 @@
// * ТекстПроверяемоеЗначение - Строка
Функция ПараметрыПроверки(ВидСравнения, ПроверяемоеЗначение, ИмяСвойства, ОжидаемоеЗначение, Реверс = Ложь) Экспорт
Параметры = ЮТФабрика.ОписаниеПроверки(ПроверяемоеЗначение);
Параметры = ЮТФабрикаСлужебный.ОписаниеПроверки(ПроверяемоеЗначение);
Параметры.ОбъектПроверки.ИмяСвойства = ИмяСвойства;
Параметры.Вставить("ВидСравнения", ВидСравнения);
Параметры.Вставить("ОжидаемоеЗначение", ОжидаемоеЗначение);
@ -235,7 +235,7 @@
ТипЗнч(Значение),
ОжидаемыйТип,
Суффикс);
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки);
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки);
КонецЕсли;
Возврат Соответствует;
@ -261,11 +261,11 @@
Результат = Ложь;
ТипЗначения = ТипЗнч(Значение);
Если ТипЗначения = Тип("Структура") Или ТипЗначения = Тип("ФиксированнаяСтруктура") Тогда
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) Тогда
Результат = Значение.Свойство(Свойство);
ИначеЕсли ТипЗначения = Тип("Соответствие") Или ТипЗначения = Тип("ФиксированноеСоответствие") Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипЗначения) Тогда
Для Каждого КлючЗначение Из Значение Цикл
@ -341,8 +341,8 @@
Попытка
Результат = РегулярныеВыражения.Совпадает(Строка(ПроверяемаяСтрока), РегулярноеВыражение);
Исключение
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Ошибка проверки строки по шаблону " + РегулярноеВыражение);
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(РегулярныеВыражения.ОписаниеОшибки);
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки("Ошибка проверки строки по шаблону " + РегулярноеВыражение);
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки(РегулярныеВыражения.ОписаниеОшибки);
ВызватьИсключение;
КонецПопытки;
@ -358,12 +358,12 @@
ИскомоеЗначениеНайдено = СтрНайти(ПроверяемоеЗначение, ОжидаемоеЗначение) > 0;
ИначеЕсли ЭтоТипМассива(ТипПроверяемогоЗначения) Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипПроверяемогоЗначения) Тогда
Индекс = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение);
ИскомоеЗначениеНайдено = Индекс <> Неопределено;
ИначеЕсли ЭтоТипКлючЗначение(ТипПроверяемогоЗначения) Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоКлючЗначение(ТипПроверяемогоЗначения) Тогда
ИскомоеЗначениеНайдено = Ложь;
ТипОжидаемогоЗначения = ТипЗнч(ОжидаемоеЗначение);
@ -393,39 +393,6 @@
КонецФункции
Функция ЭтоТипМассива(Тип)
Возврат Тип = Тип("Массив") Или Тип = Тип("ФиксированныйМассив");
КонецФункции
Функция ЭтоТипСтруктура(Тип)
Возврат Тип = Тип("Структура") Или Тип = Тип("ФиксированнаяСтруктура");
КонецФункции
Функция ЭтоТипСоответствие(Тип)
Возврат Тип = Тип("Соответствие") Или Тип = Тип("ФиксированноеСоответствие");
КонецФункции
Функция ЭтоТипКлючЗначение(Тип)
Возврат ЭтоТипСтруктура(Тип) ИЛИ ЭтоТипСоответствие(Тип);
КонецФункции
Функция ЭтоПримитивныйТип(ТипЗначения)
Возврат ТипЗначения = Тип("Число")
ИЛИ ТипЗначения = Тип("Строка")
ИЛИ ТипЗначения = Тип("Дата")
ИЛИ ТипЗначения = Тип("Булево");
КонецФункции
#Область РеализацияПредикатор
Процедура ПроверитьВыражениеПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) Экспорт
@ -433,7 +400,7 @@
Попытка
ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
Исключение
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке());
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке());
КонецПопытки;
КонецПроцедуры
@ -443,7 +410,7 @@
// Параметры:
// Значение - Произвольный - Значение
// Выражение - см. ЮТФабрика.ВыражениеПредиката
// СтатусПроверки - см. ЮТФабрика.ОписаниеРезультатаПроверки
// СтатусПроверки - см. ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки
// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке
// ПараметрыСравнения - Неопределено
// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры
@ -539,13 +506,13 @@
Возврат;
КонецЕсли;
ШаблонСообщения = ЮТПредикатыКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения);
ШаблонСообщения = ЮТПредикатыСлужебныйКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения);
Сообщение = ЮТСообщенияСлужебный.ПодставитьПредставлениеЗначенияВШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение);
ТекстОшибки = ЮТСообщенияСлужебный.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение);
ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки);
ТекстОшибки = ЮТРегистрацияОшибокСлужебный.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки);
ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки,
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки,
ТекстОшибки,
ФактическоеЗначение,
ПараметрыПроверки.ОжидаемоеЗначение);
@ -582,7 +549,7 @@
Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда
#Если ВебКлиент Или ТонкийКлиент Тогда
Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение);
Значение = ЮТОбщийСлужебныйВызовСервера.ИзХранилищаЗначений(Значение);
#Иначе
Значение = Значение.Получить();
#КонецЕсли
@ -616,7 +583,7 @@
Если ФактическаяДлина = Неопределено Тогда
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
Возврат;
КонецЕсли;
@ -636,7 +603,7 @@
Если Результат = Неопределено Тогда
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
КонецЕсли;
Возврат Результат;
@ -656,7 +623,7 @@
Если СоответствуетШаблону = Неопределено Тогда
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
КонецЕсли;
Возврат СоответствуетШаблону;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1aa5cd77-d222-4e55-9985-72526cce07cc">
<name>ЮТСравнениеКлиентСервер</name>
<name>ЮТСравнениеСлужебныйКлиентСервер</name>
<synonym>
<key>ru</key>
<value>Сравнение клиент сервер</value>

View File

@ -37,14 +37,14 @@
КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Данные.Вставить("Description", Наименование);
Иначе
Данные.Вставить("Наименование", Наименование);
КонецЕсли;
КонецЕсли;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
Возврат Ссылка;
@ -74,7 +74,7 @@
Данные.Удалить("РежимЗаписи");
КонецЕсли;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
Возврат Ссылка;
@ -121,11 +121,11 @@
#Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТТестовыеДанные.СлучайноеЧисло");
#Иначе
Генератор = ЮТКонтекст.ЗначениеКонтекста("ГенераторСлучайныхЧисел");
Генератор = ЮТКонтекстСлужебный.ЗначениеКонтекста("ГенераторСлучайныхЧисел");
Если Генератор = Неопределено Тогда
Генератор = Новый ГенераторСлучайныхЧисел();
ЮТКонтекст.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор);
КонецЕсли;
Если Максимум = Неопределено Тогда
@ -426,7 +426,7 @@
// ПеречислениеСсылка
Функция СлучайноеЗначениеПеречисления(Перечисление) Экспорт
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеЗначениеПеречисления(Перечисление);
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.СлучайноеЗначениеПеречисления(Перечисление);
КонецФункции
@ -441,7 +441,7 @@
// ПеречислениеСсылка
Функция СлучайноеПредопределенноеЗначение(Менеджер, Отбор = Неопределено) Экспорт
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор);
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор);
КонецФункции
@ -679,7 +679,7 @@
Процедура Удалить(Ссылки) Экспорт
Если ЗначениеЗаполнено(Ссылки) Тогда
ЮТТестовыеДанныеВызовСервера.Удалить(Ссылки);
ЮТТестовыеДанныеСлужебныйВызовСервера.Удалить(Ссылки);
КонецЕсли;
КонецПроцедуры
@ -743,7 +743,7 @@
// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок
Функция HTTPСервисЗапрос() Экспорт
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Возврат Обработки.ЮТHTTPServiceRequest.Создать();
Иначе
Возврат Обработки.ЮТHTTPСервисЗапрос.Создать();
@ -778,7 +778,7 @@
// Ссылка - ЛюбаяСсылка
// ИмяРеквизита - Строка
// ЗначениеРеквизита - Произвольный
// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи
// ПараметрыЗаписи - см. ЮТФабрикаСлужебный.ПараметрыЗаписи
Процедура УстановитьЗначениеРеквизита(Ссылка, ИмяРеквизита, ЗначениеРеквизита, ПараметрыЗаписи = Неопределено) Экспорт
Значения = Новый Соответствие();
@ -792,10 +792,10 @@
// Параметры:
// Ссылка - ЛюбаяСсылка - Ссылка
// ЗначенияРеквизитов - Структура, Соответствие из Произвольный - Значения реквизитов
// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи
// ПараметрыЗаписи - см. ЮТФабрикаСлужебный.ПараметрыЗаписи
Процедура УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов, ПараметрыЗаписи = Неопределено) Экспорт
ЮТТестовыеДанныеВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов);
ЮТТестовыеДанныеСлужебныйВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов);
КонецПроцедуры

View File

@ -56,7 +56,7 @@
Иначе
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
Значение = ЮТТестовыеДанныеСлужебныйВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
ДобавитьТестовуюЗапись(Значение);
КонецЕсли;
@ -152,9 +152,9 @@
Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыСозданияОбъектов, ТаблицаЗначений) Экспорт
ПараметрыЗаполнения = ЮТФабрика.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
ПараметрыЗаполнения = ЮТФабрикаСлужебный.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
Возврат ЮТТестовыеДанныеВызовСервера.ЗагрузитьИзМакета(Макет,
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.ЗагрузитьИзМакета(Макет,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,

View File

@ -111,7 +111,7 @@
КонецЕсли;
Исключение
Ошибки.Добавить(ЮТРегистрацияОшибок.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке()));
Ошибки.Добавить(ЮТРегистрацияОшибокСлужебный.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке()));
КонецПопытки;
@ -142,7 +142,7 @@
ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОбъектМетаданных);
ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа;
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
ИмяТипаМенеджера = СтрШаблон("%1Manager.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя);
Иначе
ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя);
@ -168,7 +168,7 @@
Знач ПараметрыЗаполнения,
Знач ТаблицаЗначений) Экспорт
Таблица = ЮТТестовыеДанные_ТаблицыЗначений.ЗагрузитьИзМакета(Макет,
Таблица = ЮТТестовыеДанныеСлужебныйТаблицыЗначений.ЗагрузитьИзМакета(Макет,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
@ -206,7 +206,7 @@
Условия = ЮТест.Предикат(Отбор)
.Реквизит("Предопределенный").Равно(Истина);
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Условия, "Ссылка");
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Условия, "Ссылка");
Данные = ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса);
@ -318,7 +318,7 @@
Исключение
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось записать объект `%1` (%2)", Объект, ТипЗнч(Объект)));
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось записать объект `%1` (%2)", Объект, ТипЗнч(Объект)));
ВызватьИсключение;
КонецПопытки;
@ -327,7 +327,7 @@
Процедура ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных)
АнглийскийЯзык = ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык();
АнглийскийЯзык = ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык();
ИмяТипаДокумент = ?(АнглийскийЯзык, "Document", "Документ");
ИмяРеквизитаКод = ?(АнглийскийЯзык, "Code", "Код");
ИмяРеквизитаНаименование = ?(АнглийскийЯзык, "Description", "Наименование");

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f8dcca0e-7165-4660-bcd8-a6b0c6e2e4c6">
<name>ЮТТестовыеДанныеВызовСервера</name>
<name>ЮТТестовыеДанныеСлужебныйВызовСервера</name>
<synonym>
<key>ru</key>
<value>Тестовые данные (вызов сервера)</value>

View File

@ -49,7 +49,7 @@
ПараметрыЗагрузки = ПараметрыЗагрузки(КолонкиМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения);
Выборка = ЮТОбщийВызовСервера.ВыборкаИзТабличногоДокумента(ДанныеМакета);
Выборка = ЮТОбщийСлужебныйВызовСервера.ВыборкаИзТабличногоДокумента(ДанныеМакета);
Пока Выборка.Следующий() Цикл
@ -230,7 +230,7 @@
Если ПараметрыСодержитДанные Тогда
ДанныеМакета = Макет;
ИначеЕсли ТипПараметра = Тип("Строка") Тогда
ДанныеМакета = ЮТОбщийВызовСервера.Макет(Макет);
ДанныеМакета = ЮТОбщийСлужебныйВызовСервера.Макет(Макет);
Иначе
ВызватьИсключение ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанныеВызовСервера.ДанныеМакета", Макет);
КонецЕсли;
@ -329,9 +329,9 @@
ИначеЕсли ОписаниеКолонки.Ссылочный Тогда
Значение = СоздатьНовуюЗапись(ОписаниеКолонки, ЗначенияРеквизитов, ПараметрыЗаписи);
ИначеЕсли ОписаниеКолонки.ЭтоДата Тогда
Значение = ЮТПреобразования.ПривестиЗначениеКДате(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
Значение = ЮТПреобразованияСлужебный.ПривестиЗначениеКДате(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
ИначеЕсли ОписаниеКолонки.ЭтоЧисло Тогда
Значение = ЮТПреобразования.ПривестиЗначениеКЧислу(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
Значение = ЮТПреобразованияСлужебный.ПривестиЗначениеКЧислу(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
Иначе
Значение = ОписаниеКолонки.ОписаниеТипа.ПривестиЗначение(ЗначениеПредставления);
КонецЕсли;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="18cbfea5-3366-44ec-b0bd-7fd1d933bbf8">
<name>ЮТТестовыеДанные_ТаблицыЗначений</name>
<name>ЮТТестовыеДанныеСлужебныйТаблицыЗначений</name>
<synonym>
<key>ru</key>
<value>Тестовые данные таблицы значений</value>

View File

@ -42,7 +42,7 @@
КонецЕсли;
Контекст = Контекст();
НовыйТестовыйНабор = ЮТФабрика.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
НовыйТестовыйНабор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
ИсполняемыеСценарии.ТестовыеНаборы.Добавить(НовыйТестовыйНабор);
Контекст.ТекущийНабор = НовыйТестовыйНабор;
@ -290,14 +290,14 @@
ИнициализироватьКонтекст(МетаданныеМодуля);
ЮТСобытия.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
ЮТСобытияСлужебный.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
КонецПроцедуры
Процедура ПослеЧтенияСценариевМодуля() Экспорт
Контекст = Контекст();
ЮТСобытия.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
ЮТСобытияСлужебный.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
КонецПроцедуры
@ -318,11 +318,11 @@
// Исполняемые сценарии.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
//
// Возвращаемое значение:
// Структура - Исполняемые сценарии:
// * ТестовыеНаборы - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора - Тестовые наборы модуля
// * ТестовыеНаборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора - Тестовые наборы модуля
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ИсполняемыеСценарии(МетаданныеМодуля)
@ -330,7 +330,7 @@
Структура.Вставить("ТестовыеНаборы", Новый Массив());
Структура.Вставить("НастройкиВыполнения", Новый Структура());
Набор = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
Набор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
Набор.НастройкиВыполнения = Структура.НастройкиВыполнения; // Общие настройки с набором по умолчанию
Структура.ТестовыеНаборы.Добавить(Набор);
@ -347,7 +347,7 @@
Функция КонтекстыВызоваПоУмолчанию()
Возврат ЮТФабрика.КонтекстыМодуля(Контекст().МетаданныеМодуля);
Возврат ЮТФабрикаСлужебный.КонтекстыМодуля(Контекст().МетаданныеМодуля);
КонецФункции
@ -359,7 +359,7 @@
Контексты = СтрРазделить(Контексты, ", ", Ложь);
КонецЕсли;
Возврат ЮТФабрика.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
Возврат ЮТФабрикаСлужебный.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
КонецФункции
@ -396,7 +396,7 @@
Функция Контекст()
Возврат ЮТКонтекст.ЗначениеКонтекста("КонтекстРегистрацияТестов");
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста("КонтекстРегистрацияТестов");
КонецФункции
@ -412,7 +412,7 @@
Контекст.Вставить("ТекущийНабор", Набор);
Контекст.Вставить("ТекущийЭлемент", Набор);
ЮТКонтекст.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
КонецПроцедуры

View File

@ -62,7 +62,7 @@
Функция ЭтоСсылочныйТип(Тип) Экспорт
Возврат Тип <> Неопределено И ЮТОбщий.ОписаниеТиповЛюбаяСсылка().СодержитТип(Тип);
Возврат Тип <> Неопределено И ОписаниеТиповЛюбаяСсылка().СодержитТип(Тип);
КонецФункции
@ -198,4 +198,34 @@
#КонецОбласти
Функция ЭтоСтруктура(ТипЗначения) Экспорт
Возврат ТипЗначения = Тип("Структура")
Или ТипЗначения = Тип("ФиксированнаяСтруктура");
КонецФункции
Функция ЭтоМассива(ТипЗначения) Экспорт
Возврат ТипЗначения = Тип("Массив")
Или ТипЗначения = Тип("ФиксированныйМассив");
КонецФункции
Функция ЭтоСоответствие(ТипЗначения) Экспорт
Возврат ТипЗначения = Тип("Соответствие")
Или ТипЗначения = Тип("ФиксированноеСоответствие");
КонецФункции
Функция ЭтоКлючЗначение(ТипЗначения) Экспорт
Возврат ТипЗначения = Тип("Структура")
Или ТипЗначения = Тип("ФиксированнаяСтруктура")
Или ТипЗначения = Тип("Соответствие")
Или ТипЗначения = Тип("ФиксированноеСоответствие");
КонецФункции
#КонецОбласти

View File

@ -44,8 +44,8 @@
Контекст.ОбъектПроверки.Значение = ПроверяемоеЗначение;
Контекст.ПрефиксОшибки = Сообщение;
ЮТКонтекст.УстановитьКонтекстУтверждений(Контекст);
ЮТКонтекст.УстановитьКонтекстОшибки();
ЮТКонтекстСлужебный.УстановитьКонтекстУтверждений(Контекст);
ЮТКонтекстСлужебный.УстановитьКонтекстОшибки();
Возврат ЮТУтверждения;
@ -86,7 +86,7 @@
Контекст = Контекст();
Если НЕ ЗначениеЗаполнено(Контекст.ИмяМетода) Тогда
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения("Перед установкой параметров нужно указать метод", Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения("Перед установкой параметров нужно указать метод", Контекст);
КонецЕсли;
Если Контекст.ПараметрыМетода = Неопределено Тогда
@ -591,7 +591,7 @@
// ОбщийМодуль - Этот модуль для замыкания
Функция Содержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт
Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ОжидаемоеЗначение) Тогда
Если ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(ОжидаемоеЗначение) Тогда
ПроверитьСодержаниеПредиката(ОжидаемоеЗначение, ОписаниеПроверки, Ложь);
Иначе
ПроверитьПредикат(ЮТПредикаты.Выражения().Содержит, ОжидаемоеЗначение, ОписаниеПроверки);
@ -626,7 +626,7 @@
// ОбщийМодуль - Этот модуль для замыкания
Функция НеСодержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт
Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ОжидаемоеЗначение) Тогда
Если ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(ОжидаемоеЗначение) Тогда
ПроверитьСодержаниеПредиката(ОжидаемоеЗначение, ОписаниеПроверки, Истина);
Иначе
ПроверитьПредикат(ЮТПредикаты.Выражения().НеСодержит, ОжидаемоеЗначение, ОписаниеПроверки);
@ -821,20 +821,20 @@
Модуль = ПроверяемоеЗначение(Контекст);
Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода, ВТранзакции);
Исключение
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
КонецПопытки;
Если НЕ Результат.ИсключениеВозникло Тогда
ТекстОшибки = СтрШаблон("ожидали, что метод `%1` вызовет исключение `%2`, но это не так.", Контекст.ИмяМетода, ОжидаемоеЗначение);
ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение);
ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение);
ЮТРегистрацияОшибокСлужебный.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
ИначеЕсли СтрНайти(Результат.ТекстИсключения, ОжидаемоеЗначение) = 0 Тогда
ТекстОшибки = СтрШаблон("ожидали, что метод `%1` вызовет исключение `%2`, но получили `%3`.",
Контекст.ИмяМетода,
ОжидаемоеЗначение,
Результат.ТекстИсключения);
ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение);
ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение);
ЮТРегистрацияОшибокСлужебный.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
КонецЕсли;
Возврат ЮТУтверждения;
@ -859,18 +859,18 @@
Модуль = ПроверяемоеЗначение(Контекст);
Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода, ВТранзакции);
Исключение
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
КонецПопытки;
Если Результат.ИсключениеВозникло Тогда
ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение);
ЮТРегистрацияОшибокСлужебный.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение);
Если НЕ ЗначениеЗаполнено(ОжидаемоеЗначение) Тогда
ТекстОшибки = СтрШаблон("ожидали, что метод `%1` не вызовет исключение, но это не так.", Контекст.ИмяМетода);
ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
ИначеЕсли СтрНайти(Результат.ТекстИсключения, ОжидаемоеЗначение) <> 0 Тогда
ТекстОшибки = СтрШаблон("ожидали, что метод `%1` не вызовет исключение `%2`, но это не так.", Контекст.ИмяМетода, ОжидаемоеЗначение);
ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.ВызватьОшибкуПроверки(ТекстОшибки, Контекст);
КонецЕсли;
КонецЕсли;
@ -1213,7 +1213,7 @@
ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки);
РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(ПроверяемоеЗначение, Предикат, ПараметрыСообщенийОбОшибке);
РезультатПроверки = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(ПроверяемоеЗначение, Предикат, ПараметрыСообщенийОбОшибке);
Если НЕ РезультатПроверки.Успешно Тогда
ОбработатьРезультатПроверки(Контекст, РезультатПроверки);
@ -1245,7 +1245,7 @@
Для Каждого Элемент Из ПроверяемоеЗначение Цикл
РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке);
РезультатПроверки = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке);
Если НЕ РезультатПроверки.Успешно Тогда
ОбработатьРезультатПроверки(Контекст, РезультатПроверки);
КонецЕсли;
@ -1280,7 +1280,7 @@
Для Каждого Элемент Из ПроверяемоеЗначение Цикл
РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке);
РезультатПроверки = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке);
Если РезультатПроверки.Успешно Тогда
Успешно = Истина;
Прервать;
@ -1289,7 +1289,7 @@
КонецЦикла;
Если НЕ Успешно Тогда
Сообщение = ЮТПредикатыКлиентСервер.ПредставлениеПредикатов(Предикат, " и ");
Сообщение = ЮТПредикатыСлужебныйКлиентСервер.ПредставлениеПредикатов(Предикат, " и ");
СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение, "один из элементов проверяемого значения");
КонецЕсли;
@ -1307,15 +1307,15 @@
// Используется для принудительного сброса контекста утверждения
Процедура СброситьКонтекст() Экспорт
ЮТКонтекст.УстановитьКонтекстУтверждений(Неопределено);
ЮТКонтекст.УстановитьКонтекстОшибки();
ЮТКонтекстСлужебный.УстановитьКонтекстУтверждений(Неопределено);
ЮТКонтекстСлужебный.УстановитьКонтекстОшибки();
КонецПроцедуры
// Обработчик события "ПередКаждымТестом"
//
// Параметры:
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
СброситьКонтекст();
@ -1335,7 +1335,7 @@
Функция Контекст() Экспорт
//@skip-check constructor-function-return-section
Возврат ЮТКонтекст.КонтекстПроверки();
Возврат ЮТКонтекстСлужебный.КонтекстПроверки();
КонецФункции
@ -1346,7 +1346,7 @@
//
// Возвращаемое значение:
// Структура - контекст утверждений:
// * ОбъектПроверки - см. ЮТФабрика.ОписаниеПроверяемогоЗначения
// * ОбъектПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверяемогоЗначения
// * ИмяМетода - Строка
// * НормализованныйПутьКСвойству - Неопределено - Не указано свойство
// - Массив из Строка, Число
@ -1354,7 +1354,7 @@
// - Массив из Произвольный
Функция НовыйКонтекстУтверждения(ПроверяемоеЗначение)
Контекст = ЮТФабрика.ОписаниеПроверки(ПроверяемоеЗначение);
Контекст = ЮТФабрикаСлужебный.ОписаниеПроверки(ПроверяемоеЗначение);
Контекст.Вставить("ИмяМетода", "");
Контекст.Вставить("НормализованныйПутьКСвойству", Неопределено);
@ -1385,7 +1385,7 @@
Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда
#Если ВебКлиент Или ТонкийКлиент Тогда
Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение);
Значение = ЮТОбщийСлужебныйВызовСервера.ИзХранилищаЗначений(Значение);
#Иначе
Значение = Значение.Получить();
#КонецЕсли
@ -1501,11 +1501,11 @@
Результат = Ложь;
ТипЗначения = ТипЗнч(Значение);
Если ТипЗначения = Тип("Структура") ИЛИ ТипЗначения = Тип("ФиксированнаяСтруктура") Тогда
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) Тогда
Результат = Значение.Свойство(Свойство);
ИначеЕсли ТипЗначения = Тип("Соответствие") ИЛИ ТипЗначения = Тип("ФиксированноеСоответствие") Тогда
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипЗначения) Тогда
Для Каждого КлючЗначение Из Значение Цикл
@ -1625,7 +1625,7 @@
ТипЗнч(Значение),
ОжидаемыйТип,
Суффикс);
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
КонецЕсли;
КонецПроцедуры
@ -1656,7 +1656,7 @@
ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст);
Результат = ЗначенияРавны(ПроверяемоеЗначение, ОжидаемоеЗначение);
Исключение
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
КонецПопытки;
ОбработатьРезультатСравнения(Результат, Сообщение, Реверс, ПроверяемоеЗначение, ОжидаемоеЗначение);
@ -1668,7 +1668,7 @@
ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст);
Результат = ПроверяемоеЗначение <> Null И ПроверяемоеЗначение <> Неопределено;
Исключение
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
КонецПопытки;
ОбработатьРезультатСравнения(Результат, "существует", Реверс, ПроверяемоеЗначение, Неопределено);
@ -1681,12 +1681,12 @@
ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст);
ФактическаяДлина = ДлинаЗначения(ПроверяемоеЗначение);
Исключение
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст);
КонецПопытки;
Если ФактическаяДлина = Неопределено Тогда
ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
КонецЕсли;
Возврат ФактическаяДлина;
@ -1720,7 +1720,7 @@
ТекстОшибки = СтрШаблон("Не корректно задан интервал, левая граница (%1) не должна быть больше правой (%2)",
НачалоИнтервала,
ОкончаниеИнтервала);
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
КонецЕсли;
Результат = Истина;
@ -1752,16 +1752,17 @@
Если НЕ ЗначениеЗаполнено(Значение) Тогда
ТекстОшибки = СтрШаблон("Ожидали, что %1 заполнено, но это не так", Описание);
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст);
КонецЕсли;
КонецПроцедуры
Процедура ОбъектыРавны(Объект, ОбъектЭталон)
Ключи = ЮТКоллекции.ВыгрузитьЗначения(ОбъектЭталон, "Ключ");
ТипЗначения = ТипЗнч(Объект);
ЭтоСоответствие = ТипЗнч(Объект) = Тип("Соответствие") ИЛИ ТипЗнч(Объект) = Тип("ФиксированноеСоответствие");
ЭтоСтруктура = ТипЗнч(Объект) = Тип("Структура") ИЛИ ТипЗнч(Объект) = Тип("ФиксированнаяСтруктура");
ЭтоСоответствие = ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипЗначения);
ЭтоСтруктура = ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения);
ЗначениеОтсутствующегоРеквизита = Новый УникальныйИдентификатор();
@ -1798,12 +1799,12 @@
Для Каждого Сообщение Из Результат.Сообщения Цикл
Если ТипЗнч(Сообщение) = Тип("Структура") Тогда
ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Сообщение.ПроверяемоеЗначение, Сообщение.ОжидаемоеЗначение);
ЮТРегистрацияОшибокСлужебный.УстановитьДанныеОшибкиСравнения(Сообщение.ПроверяемоеЗначение, Сообщение.ОжидаемоеЗначение);
ТекстИсключения = СтрШаблон("%1 <%2>", ЮТРегистрацияОшибок.ПрефиксОшибкиУтверждений(), Сообщение.Сообщение);
ТекстИсключения = СтрШаблон("%1 <%2>", ЮТРегистрацияОшибокСлужебный.ПрефиксОшибкиУтверждений(), Сообщение.Сообщение);
ВызватьИсключение ТекстИсключения;
Иначе
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(Сообщение, Контекст);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(Сообщение, Контекст);
КонецЕсли;
КонецЦикла;
@ -1820,7 +1821,7 @@
ПолноеОписаниеПроверки = ЮТСтроки.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " ");
ПредставлениеЗначения = СтрШаблон("`%1`", ПроверяемоеЗначение);
Возврат ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, ОбъектПроверки, ПредставлениеЗначения);
Возврат ЮТПредикатыСлужебныйКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, ОбъектПроверки, ПредставлениеЗначения);
КонецФункции
@ -1834,14 +1835,14 @@
Процедура СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение, ОбъектПроверки = "проверяемое значение")
Контекст = Контекст();
ЮТРегистрацияОшибок.СгенерироватьОшибкуУтверждения(Контекст, Сообщение, ПроверяемоеЗначение, ОбъектПроверки);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуУтверждения(Контекст, Сообщение, ПроверяемоеЗначение, ОбъектПроверки);
КонецПроцедуры
Процедура СгенерироватьОшибкуСравнения(Сообщение, ФактическоеЗначение, ОжидаемоеЗначение, ОбъектПроверки = "проверяемое значение")
Контекст = Контекст();
ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Контекст, Сообщение, ФактическоеЗначение, ОжидаемоеЗначение, ОбъектПроверки);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуСравнения(Контекст, Сообщение, ФактическоеЗначение, ОжидаемоеЗначение, ОбъектПроверки);
КонецПроцедуры
@ -1854,8 +1855,8 @@
ПолноеОписаниеПроверки = ЮТСтроки.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " ");
ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, , Контекст.ОбъектПроверки.Представление);
Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
ПараметрыСообщенийОбОшибке = ЮТПредикатыСлужебныйКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, , Контекст.ОбъектПроверки.Представление);
Результат = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
ОбработатьРезультатПроверкиПредиката(Результат);
@ -1868,12 +1869,12 @@
Для Каждого Сообщение Из Результат.Сообщения Цикл
Если ТипЗнч(Сообщение) = Тип("Структура") Тогда
ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Сообщение.ПроверяемоеЗначение, Сообщение.ОжидаемоеЗначение);
ЮТРегистрацияОшибокСлужебный.УстановитьДанныеОшибкиСравнения(Сообщение.ПроверяемоеЗначение, Сообщение.ОжидаемоеЗначение);
ТекстИсключения = СтрШаблон("%1 <%2>", ЮТРегистрацияОшибок.ПрефиксОшибкиУтверждений(), Сообщение.Сообщение);
ТекстИсключения = СтрШаблон("%1 <%2>", ЮТРегистрацияОшибокСлужебный.ПрефиксОшибкиУтверждений(), Сообщение.Сообщение);
ВызватьИсключение ТекстИсключения;
Иначе
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(Сообщение);
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуВыполнения(Сообщение);
КонецЕсли;
КонецЦикла;
@ -1896,7 +1897,7 @@
Для Каждого Элемент Из ПроверяемоеЗначение Цикл
РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке);
РезультатПроверки = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке);
Если РезультатПроверки.Успешно Тогда
Успешно = Истина;
Прервать;
@ -1909,7 +1910,7 @@
КонецЕсли;
Если НЕ Успешно Тогда
Сообщение = "содержит элемент, значение которого " + ЮТПредикатыКлиентСервер.ПредставлениеПредикатов(Предикат, " и ");
Сообщение = "содержит элемент, значение которого " + ЮТПредикатыСлужебныйКлиентСервер.ПредставлениеПредикатов(Предикат, " и ");
Если Реверс Тогда
Сообщение = "не " + Сообщение;

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// 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.
@ -50,7 +50,7 @@
Контекст = НовыйКонтекст(ИмяТаблицы);
Контекст.ПрефиксОшибки = ОписаниеПроверки;
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекста(), Контекст);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекста(), Контекст);
Возврат ЮТУтвержденияИБ;
@ -235,7 +235,7 @@
Функция Контекст()
//@skip-check constructor-function-return-section
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекста());
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекста());
КонецФункции
@ -245,10 +245,10 @@
// ИмяТаблицы - Строка
//
// Возвращаемое значение:
// см. ЮТФабрика.ОписаниеПроверки
// см. ЮТФабрикаСлужебный.ОписаниеПроверки
Функция НовыйКонтекст(ИмяТаблицы)
Контекст = ЮТФабрика.ОписаниеПроверки(ИмяТаблицы);
Контекст = ЮТФабрикаСлужебный.ОписаниеПроверки(ИмяТаблицы);
Возврат Контекст;
@ -265,7 +265,7 @@
Процедура СгенерироватьОшибкуУтверждения(Контекст, Предикат, Сообщение)
Если Предикат <> Неопределено Тогда
ПредставлениеПредиката = ЮТПредикатыКлиентСервер.ПредставлениеПредикатов(Предикат, ", ", "`%1`");
ПредставлениеПредиката = ЮТПредикатыСлужебныйКлиентСервер.ПредставлениеПредикатов(Предикат, ", ", "`%1`");
КонецЕсли;
Если ЗначениеЗаполнено(ПредставлениеПредиката) Тогда
@ -274,7 +274,7 @@
СообщениеОбОшибке = Сообщение;
КонецЕсли;
ЮТРегистрацияОшибок.СгенерироватьОшибкуУтверждения(Контекст, СообщениеОбОшибке, Неопределено, "проверяемая таблица");
ЮТРегистрацияОшибокСлужебный.СгенерироватьОшибкуУтверждения(Контекст, СообщениеОбОшибке, Неопределено, "проверяемая таблица");
КонецПроцедуры

View File

@ -16,8 +16,9 @@
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
#Область ПрограммныйИнтерфейс
#Область Перечисления
// КонтекстыВызова
// Возвращает перечисление возможных контекстов вызова
// Возвращаемое значение:
@ -41,28 +42,6 @@
КонецФункции
// Доступные параметры (настройки) исполнения тестов
//
// Возвращаемое значение:
// ФиксированнаяСтруктура - Параметры исполнения теста:
// * ВТранзакции - Строка - Тест должен выполняться в транзакции
// * УдалениеТестовыхДанных - Строка - Тест должен удалить созданные тестовые данные
// * Перед - Строка - Перед тестом должен выполниться указанный обработчик события вместо основного
// * После - Строка - После теста должен выполниться указанный обработчик события вместо основного
Функция ПараметрыИсполненияТеста() Экспорт
Параметры = Новый Структура();
Параметры.Вставить("ВТранзакции", "ВТранзакции");
Параметры.Вставить("УдалениеТестовыхДанных", "УдалениеТестовыхДанных");
Параметры.Вставить("Перед", "Перед");
Параметры.Вставить("После", "После");
Возврат Новый ФиксированнаяСтруктура(Параметры);
КонецФункции
#Область Перечисления
// КонтекстыИсполнения
// Возвращает перечисление возможных контекстов исполнения тестов
//
@ -108,58 +87,6 @@
КонецФункции
// Типы ошибок.
//
// Возвращаемое значение:
// ФиксированнаяСтруктура - Типы возможных ошибок:
// * ТестНеРеализован - Строка
// * ОшибкаСравнения - Строка
// * ОшибкаОбработкиСобытия - Строка
// * Утверждений - Строка
// * Исполнения - Строка
// * ЧтенияТестов - Строка
// * МалоПараметров - Строка
// * МногоПараметров - Строка
// * НекорректныйКонтекстИсполнения - Строка
// * Пропущен - Строка
Функция ТипыОшибок() Экспорт
Типы = Новый Структура;
Для Каждого ТипОшибки Из ПараметрыТиповОшибок() Цикл
Типы.Вставить(ТипОшибки.Ключ, ТипОшибки.Ключ);
КонецЦикла;
//@skip-check constructor-function-return-section
Возврат Новый ФиксированнаяСтруктура(Типы);
КонецФункции
Функция ПараметрыТиповОшибок(Кешировать = Истина) Экспорт
Если Кешировать Тогда
ЮТСлужебныйПовторногоИспользования.ПараметрыТиповОшибок();
КонецЕсли;
Статусы = СтатусыИсполненияТеста();
Реквизиты = "Ключ, Представление, Статус";
ТипыОшибок = Новый Массив();
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ТестНеРеализован", "Не реализован", Статусы.НеРеализован));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ОшибкаСравнения", "Ошибка сравнения", Статусы.Ошибка));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ОшибкаОбработкиСобытия", "Ошибка обработки события", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "Утверждений", "Ошибка утверждений", Статусы.Ошибка));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "Исполнения", "Ошибка исполнения", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ЧтенияТестов", "Загрузки тестов", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "МалоПараметров", "Мало фактических параметров", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "МногоПараметров", "Много фактических параметров", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "НекорректныйКонтекстИсполнения", "Некорректный контекст исполнения", Статусы.Пропущен));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "Пропущен", "Пропущен", Статусы.Пропущен));
Возврат ЮТКоллекции.ВСтруктуру(ТипыОшибок, "Ключ");
КонецФункции
Функция УровниИсполнения() Экспорт
Уровни = Новый Структура;
@ -173,211 +100,6 @@
#КонецОбласти
#Область СтруктурыДанных
// Описание тестового модуля.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// НаборыТестов - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора
//
// Возвращаемое значение:
// Структура - Описание тестового модуля:
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// * НаборыТестов - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ОписаниеТестовогоМодуля(МетаданныеМодуля, НаборыТестов) Экспорт
Описание = Новый Структура;
Описание.Вставить("МетаданныеМодуля", МетаданныеМодуля);
Описание.Вставить("НаборыТестов", НаборыТестов);
Описание.Вставить("Ошибки", Новый Массив);
Описание.Вставить("НастройкиВыполнения", Новый Структура());
Возврат Описание;
КонецФункции
// ОписаниеТестовогоНабора
// Возвращает описание регистрируемого тестового набора.
// Эта структура используется на этапе формирования описаний имеющихся тестов
// Параметры:
// Имя - Строка - Имя набора
// ТегиСтрокой - Строка - Теги набора
//
// Возвращаемое значение:
// Структура - Описание тестового набора:
// * Имя - Строка - Имя набора
// * Представление - Строка - Представление, краткое описание
// * Теги - Массив из Строка - Коллекция тегов набора
// * Тесты - Массив из см. ОписаниеТеста - Коллекция тестов набора, см. ОписаниеТеста
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки - Описания ошибок регистрации тестов
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ОписаниеТестовогоНабора(Имя, ТегиСтрокой = "") Экспорт
Описание = Новый Структура;
Описание.Вставить("Имя", Строка(Имя));
Описание.Вставить("Представление", Строка(Имя));
Описание.Вставить("Теги", СтрРазделить(ТегиСтрокой, ", ", Ложь));
Описание.Вставить("Тесты", Новый Массив);
Описание.Вставить("Ошибки", Новый Массив);
Описание.Вставить("НастройкиВыполнения", Новый Структура());
Возврат Описание;
КонецФункции
// ОписаниеТеста
// Возвращает описание регистрируемого теста.
// Эта структура используется на этапе формирования описаний имеющихся тестов
// Параметры:
// Имя - Строка - Имя тестового метода
// Представление - Строка - Представление, краткое описание теста
// КонтекстыВызова - Массив из Строка - Контексты исполнения теста
// ТегиСтрокой - Строка - Теги теста
//
// Возвращаемое значение:
// Структура - Описание теста:
// * Имя - Строка - Имя теста (тестового метода)
// * Представление - Строка - Представление теста
// * Теги - Массив из Строка - Теги теста
// * КонтекстВызова - Массив из Строка - Контексты исполнения теста
// * НастройкиВыполнения- Структура - Настройки исполнения теста
// * Параметры - Неопределено, Массив из Произвольный - Параметры теста
// * НомерВНаборе - Число - Порядковый номер теста в наборе
Функция ОписаниеТеста(Имя, Представление, КонтекстыВызова, Знач ТегиСтрокой = "") Экспорт
Если ТегиСтрокой = Неопределено Тогда
ТегиСтрокой = "";
КонецЕсли;
Описание = Новый Структура();
Описание.Вставить("Имя", Строка(Имя));
Описание.Вставить("Представление", Строка(Представление));
Описание.Вставить("Теги", СтрРазделить(ТегиСтрокой, ", ", Ложь));
Описание.Вставить("КонтекстВызова", КонтекстыВызова);
Описание.Вставить("НастройкиВыполнения", Новый Структура());
Описание.Вставить("Параметры", Неопределено);
Описание.Вставить("НомерВНаборе", 0);
Возврат Описание;
КонецФункции
// Описание исполняемого тестового модуля.
// Содержит всю необходимую информацию для прогона тестов, а также данные результата
// Параметры:
// ТестовыйМодуль - см. ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание тестового модуля:
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// * НаборыТестов - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль) Экспорт
Описание = Новый Структура;
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
Описание.Вставить("НаборыТестов", Новый Массив);
Описание.Вставить("Ошибки", ЮТКоллекции.СкопироватьМассив(ТестовыйМодуль.Ошибки));
Описание.Вставить("НастройкиВыполнения", ЮТКоллекции.СкопироватьСтруктуру(ТестовыйМодуль.НастройкиВыполнения));
Возврат Описание;
КонецФункции
// ОписаниеИсполняемогоНабораТестов
// Возвращает описание исполняемого тестового набора.
// Содержит данные необходимые для выполнения прогона тестов
// Параметры:
// НаборТестов - См. ОписаниеТестовогоНабора
// ТестовыйМодуль - См. ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание исполняемого набора тестов:
// * Имя - Строка - Имя набора
// * Представление - Строка - Представление набора
// * Теги - Массив из Строка - Тэги набора
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста
// * Режим - Строка - Режим исполнения набора, см. КонтекстыВызова
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
// * Тесты - Массив из см. ОписаниеИсполняемогоТеста - Тесты набора, структуру тестов см. ОписаниеИсполняемогоТеста
// * Выполнять - Булево - Признак, что можно выполнить прогон набора (нет ошибок блокирующих запуск)
// * ДатаСтарта - Число - Дата запуска набора
// * Длительность - Число - Продолжительность выполнения набора
// * НастройкиВыполнения - Структура - Настройки исполнения теста
// * ТестовыйМодуль - См. ОписаниеТестовогоМодуля
Функция ОписаниеИсполняемогоНабораТестов(НаборТестов, ТестовыйМодуль) Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", НаборТестов.Имя);
Описание.Вставить("Представление", НаборТестов.Представление);
Описание.Вставить("Теги", НаборТестов.Теги);
Описание.Вставить("Ошибки", ЮТКоллекции.СкопироватьМассив(НаборТестов.Ошибки));
Описание.Вставить("Режим", "");
Описание.Вставить("ТестовыйМодуль", ТестовыйМодуль);
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
Описание.Вставить("Тесты", Новый Массив);
Описание.Вставить("Выполнять", Описание.Ошибки.Количество() = 0);
Описание.Вставить("ДатаСтарта", 0);
Описание.Вставить("Длительность", 0);
Описание.Вставить("НастройкиВыполнения", НаборТестов.НастройкиВыполнения);
Возврат Описание;
КонецФункции
// ОписаниеИсполняемогоТеста
// Возвращает описание исполняемого теста
// Содержит данные необходимые для выполнения прогона тестов
//
// Параметры:
// Тест - См. ОписаниеТеста
// Режим - См. КонтекстыВызова
// ТестовыйМодуль - См. ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание исполняемого теста:
// * Имя - Строка - Имя/представление теста
// * Метод - Строка - Имя тестового метода
// * ПолноеИмяМетода - Строка - Полное имя тестового метода, ИмяМодуля.ИмяМетода
// * Теги - Массив из Строка - Теги теста
// * Режим - Строка - Режим исполнения теста, см. КонтекстыВызова
// * ДатаСтарта - Число - Дата запуска теста
// * Длительность - Число - Продолжительность выполнения теста
// * Статус - Строка - Статус выполнения теста, см. СтатусыИсполненияТеста
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста, см. ЮТФабрика.ОписаниеВозникшейОшибки
// * НастройкиВыполнения- Структура - Настройки исполнения теста
// * Параметры - Неопределено, Массив из Произвольный - Набор параметров теста
// * НомерВНаборе - Число - Порядковый номер теста в наборе
Функция ОписаниеИсполняемогоТеста(Тест, Режим, ТестовыйМодуль) Экспорт
ПолноеИмяМетода = СтрШаблон("%1.%2", ТестовыйМодуль.МетаданныеМодуля.Имя, Тест.Имя);
Представление = ПредставлениеТеста(Тест);
ОписаниеТеста = Новый Структура;
ОписаниеТеста.Вставить("Имя", Представление);
ОписаниеТеста.Вставить("Метод", Тест.Имя);
ОписаниеТеста.Вставить("ПолноеИмяМетода", ПолноеИмяМетода);
ОписаниеТеста.Вставить("Теги", Тест.Теги);
ОписаниеТеста.Вставить("Режим", Режим);
ОписаниеТеста.Вставить("ДатаСтарта", 0);
ОписаниеТеста.Вставить("Длительность", 0);
ОписаниеТеста.Вставить("Статус", СтатусыИсполненияТеста().Ожидание);
ОписаниеТеста.Вставить("Ошибки", Новый Массив);
ОписаниеТеста.Вставить("НастройкиВыполнения", Тест.НастройкиВыполнения);
ОписаниеТеста.Вставить("Параметры", Тест.Параметры);
ОписаниеТеста.Вставить("НомерВНаборе", Тест.НомерВНаборе);
//@skip-check constructor-function-return-section
Возврат ОписаниеТеста;
КонецФункции
// ПараметрыЗапуска
// Набор параметров подсистемы тестирования.
// Параметры на английском, чтобы не держать несколько реализаций чтения и обработки параметров
@ -418,276 +140,6 @@
КонецФункции
// ОписаниеКонтекстаОшибки
// Возвращает описание деталей/расшифровки ошибки
// Возвращаемое значение:
// Структура - Детали ошибки:
// * ОшибкаУтверждения - Булево - Признак, это ошибка проверки утверждения
// * ПроверяемоеЗначение - Произвольный - Фактическое значение
// * ОжидаемоеЗначение - Произвольный - Ожидаемое значение
// * Сообщение - Строка
Функция ОписаниеКонтекстаОшибки() Экспорт
Описание = Новый Структура("ПроверяемоеЗначение, ОжидаемоеЗначение");
Описание.Вставить("ОшибкаУтверждения", Ложь);
Описание.Вставить("Сообщение", "");
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// ОписаниеМодуля
// Возвращает структуру описания модуля
// Возвращаемое значение:
// Структура - Описание модуля:
// * Имя - Строка - Имя модуля
// * ПолноеИмя - Строка - Полное имя модуля
// * Расширение - Строка - Имя расширения, владельца модуля
// * КлиентУправляемоеПриложение - Булево - Доступность контекста
// * КлиентОбычноеПриложение - Булево - Доступность контекста
// * Сервер - Булево - Доступность контекста
// * ВызовСервера - Булево - Доступность контекста
// * Глобальный - Булево - Доступность контекста
Функция ОписаниеМодуля() Экспорт
Описание = Новый Структура;
Описание.Вставить("Имя", "");
Описание.Вставить("ПолноеИмя", "");
Описание.Вставить("Расширение", "");
Описание.Вставить("КлиентУправляемоеПриложение", Ложь);
Описание.Вставить("КлиентОбычноеПриложение", Ложь);
Описание.Вставить("Сервер", Ложь);
Описание.Вставить("ВызовСервера", Ложь);
Описание.Вставить("Глобальный", Ложь);
Возврат Описание;
КонецФункции
// ОписаниеВозникшейОшибки
// Возвращает базовую структуру ошибки
//
// Параметры:
// Сообщение - Строка
//
// Возвращаемое значение:
// Структура - Описание возникшей ошибки:
// * Сообщение - Строка - Описание возникшей ошибки
// * Стек - Строка - Стек возникшей ошибки
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок
Функция ОписаниеВозникшейОшибки(Сообщение) Экспорт
Возврат Новый Структура("Сообщение, Стек, ТипОшибки", Сообщение, "", "");
КонецФункции
// Возвращает базовую структуру ошибки проверки факта и ожидания
//
// Параметры:
// Сообщение - Строка
//
// Возвращаемое значение:
// Структура - Описание возникшей ошибки:
// * Сообщение - Строка - Описание возникшей ошибки
// * Стек - Строка - Стек возникшей ошибки
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок
// * ПроверяемоеЗначение - Произвольный - Проверяемое, фактическое значение
// * ОжидаемоеЗначение - Произвольный - Ожидаемое значение
Функция ОписаниеОшибкиСравнения(Сообщение) Экспорт
Описание = ОписаниеВозникшейОшибки(Сообщение);
Описание.ТипОшибки = ТипыОшибок().Утверждений;
Описание.Вставить("ПроверяемоеЗначение");
Описание.Вставить("ОжидаемоеЗначение");
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// Возвращает базовую структуру ошибки пропуска теста
//
// Параметры:
// Сообщение - Строка
//
// Возвращаемое значение:
// Структура - Описание возникшей ошибки:
// * Сообщение - Строка - Описание возникшей ошибки
// * Стек - Строка - Стек возникшей ошибки
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения
// См. ЮТФабрика.ТипыОшибок
Функция ОписаниеОшибкиПропуска(Сообщение) Экспорт
Описание = ОписаниеВозникшейОшибки(Сообщение);
Описание.ТипОшибки = ТипыОшибок().Пропущен;
Возврат Описание;
КонецФункции
// Описание события исполнения тестов.
//
// Параметры:
// Модуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
//
// Возвращаемое значение:
// Структура - Описание события исполнения тестов:
// * Модуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// * Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// * Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
Функция ОписаниеСобытияИсполненияТестов(Модуль, Набор = Неопределено, Тест = Неопределено) Экспорт
Описание = Новый Структура();
Описание.Вставить("Модуль", Модуль);
Описание.Вставить("Набор", Набор);
Описание.Вставить("Тест", Тест);
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// Описание категория набора тестов.
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание категория набора тестов:
// * ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
// * Клиентские - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// * Серверные - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// * Пропущенные - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
Функция ОписаниеКатегорияНабораТестов(ТестовыйМодуль) Экспорт
КатегорииНаборов = Новый Структура();
КатегорииНаборов.Вставить("ТестовыйМодуль", ТестовыйМодуль);
КатегорииНаборов.Вставить("Клиентские", Новый Массив());
КатегорииНаборов.Вставить("Серверные", Новый Массив());
КатегорииНаборов.Вставить("Пропущенные", Новый Массив());
//@skip-check constructor-function-return-section
Возврат КатегорииНаборов;
КонецФункции
// Формирует описание проверяемого значения.
// Используется в утверждения для формирования дружелюбного сообщения об ошибке.
//
// Параметры:
// ПроверяемоеЗначение - Произвольный - Проверяемое значение
//
// Возвращаемое значение:
// Структура - Описание проверяемого значения:
// * Значение - Произвольный
// * Представление - Строка - Представление объекта
// - Неопределено - Если не указано тогда используется платформенное предсталение (`Строка(Значение)`)
// * ИмяСвойства - Строка, Число, Неопределено - Имя проверяемого реквизита, индекса
Функция ОписаниеПроверяемогоЗначения(ПроверяемоеЗначение) Экспорт
Описание = Новый Структура();
Описание.Вставить("Значение", ПроверяемоеЗначение);
Описание.Вставить("Представление", Неопределено);
Описание.Вставить("ИмяСвойства", Неопределено);
Возврат Описание;
КонецФункции
// Описание проверки.
//
// Параметры:
// ПроверяемоеЗначение - Произвольный
//
// Возвращаемое значение:
// Структура - Описание проверки:
// * ОбъектПроверки - см. ОписаниеПроверяемогоЗначения
// * ПрефиксОшибки - Строка, Неопределено -
// * ОписаниеПроверки - Строка, Неопределено -
Функция ОписаниеПроверки(ПроверяемоеЗначение) Экспорт
Описание = Новый Структура();
Описание.Вставить("ОбъектПроверки", ОписаниеПроверяемогоЗначения(ПроверяемоеЗначение));
Описание.Вставить("ПрефиксОшибки", Неопределено);
Описание.Вставить("ОписаниеПроверки", Неопределено);
Возврат Описание;
КонецФункции
// Описание реквизита объекта метаданных
//
// Параметры:
// Реквизит - ОбъектМетаданных
// ЭтоКлюч - Булево - Это ключевой реквизит (ссылка, измерение)
//
// Возвращаемое значение:
// Структура - Описание реквизита:
// * Имя - Строка
// * Тип - ОписаниеТипов
// * Обязательный - Булево
// * ЭтоКлюч - Булево
Функция ОписаниеРеквизита(Знач Реквизит, Знач ЭтоКлюч) Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", Реквизит.Имя);
Описание.Вставить("Тип", Реквизит.Тип);
Описание.Вставить("Обязательный", Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку);
Описание.Вставить("ЭтоКлюч", ЭтоКлюч);
Возврат Описание;
КонецФункции
#КонецОбласти
#Область КонструкторыКонтекстов
// Данные контекста исполнения.
//
// Возвращаемое значение:
// Структура - Данные контекста исполнения:
// * Уровень - Строка - Возможные значения см. УровниИсполнения
// * Модуль - Неопределено - Нет исполняемого модуля
// - см. ОписаниеТестовогоМодуля
// * Набор - Неопределено - Нет исполняемого тестового набора
// - см. ОписаниеИсполняемогоНабораТестов
// * Тест - Неопределено - Нет исполняемого теста
// - см. ОписаниеИсполняемогоТеста
Функция НовыйКонтекстИсполнения() Экспорт
Контекст = Новый Структура();
Контекст.Вставить("Уровень", "");
Контекст.Вставить("Модуль", Неопределено);
Контекст.Вставить("Набор", Неопределено);
Контекст.Вставить("Тест", Неопределено);
Возврат Контекст;
КонецФункции
// Описание результата проверки.
//
// Параметры:
// Успешно - Булево - Успешно
//
// Возвращаемое значение:
// Структура - Описание результата проверки:
// * Сообщения - Массив из Произвольный
// * Успешно - Булево
Функция ОписаниеРезультатаПроверки(Успешно = Истина) Экспорт
Описание = Новый Структура();
Описание.Вставить("Сообщения", Новый Массив);
Описание.Вставить("Успешно", Истина);
Возврат Описание;
КонецФункции
// Выражение предиката.
//
// Параметры:
@ -713,111 +165,23 @@
КонецФункции
#КонецОбласти
// КонтекстыМодуля
// Возвращает коллекцию доступных контекстов выполнения модуля
// Параметры:
// Модуль - См. ОписаниеМодуля
// Доступные параметры (настройки) исполнения тестов
//
// Возвращаемое значение:
// Массив из Строка - Контексты модуля, возможные значения см. КонтекстыВызова
Функция КонтекстыМодуля(Модуль) Экспорт
// ФиксированнаяСтруктура - Параметры исполнения теста:
// * ВТранзакции - Строка - Тест должен выполняться в транзакции
// * УдалениеТестовыхДанных - Строка - Тест должен удалить созданные тестовые данные
// * Перед - Строка - Перед тестом должен выполниться указанный обработчик события вместо основного
// * После - Строка - После теста должен выполниться указанный обработчик события вместо основного
Функция ПараметрыИсполненияТеста() Экспорт
Контексты = КонтекстыВызова();
Параметры = Новый Структура();
Параметры.Вставить("ВТранзакции", "ВТранзакции");
Параметры.Вставить("УдалениеТестовыхДанных", "УдалениеТестовыхДанных");
Параметры.Вставить("Перед", "Перед");
Параметры.Вставить("После", "После");
КонтекстыМодуля = Новый Массив();
Если Модуль.Сервер Тогда
КонтекстыМодуля.Добавить(Контексты.Сервер);
КонецЕсли;
Если Модуль.КлиентУправляемоеПриложение Тогда
КонтекстыМодуля.Добавить(Контексты.КлиентУправляемоеПриложение);
КонецЕсли;
Если Модуль.КлиентОбычноеПриложение Тогда
КонтекстыМодуля.Добавить(Контексты.КлиентОбычноеПриложение);
КонецЕсли;
Возврат КонтекстыМодуля;
КонецФункции
// КонтекстыПриложения
// Возвращает коллекцию доступных контекстов приложения
// Возвращаемое значение:
// Массив из Строка - Контексты приложения, возможные значения см. КонтекстыВызова
Функция КонтекстыПриложения() Экспорт
#Если НЕ Клиент Тогда
ВызватьИсключение "Метод получения контекстов приложения должен вызываться с клиента";
#КонецЕсли
Контексты = КонтекстыВызова();
КонтекстыПриложения = Новый Массив();
КонтекстыПриложения.Добавить(Контексты.Сервер);
КонтекстыПриложения.Добавить(Контексты.ВызовСервера);
#Если ТолстыйКлиентОбычноеПриложение Тогда
КонтекстыПриложения.Добавить(Контексты.КлиентОбычноеПриложение);
#ИначеЕсли ТолстыйКлиентУправляемоеПриложение Или ТонкийКлиент Тогда
КонтекстыПриложения.Добавить(Контексты.КлиентУправляемоеПриложение);
#КонецЕсли
Возврат КонтекстыПриложения;
КонецФункции
// КонтекстИсполнения
// Возвращает контекст исполнения по контексту вызова
// Параметры:
// КонтекстВызова - Строка - Контекст вызова, см. ЮТФабрика.КонтекстыВызова
//
// Возвращаемое значение:
// Неопределено, Строка - Контекст исполнения
Функция КонтекстИсполнения(КонтекстВызова) Экспорт
КонтекстыВызова = КонтекстыВызова();
Если КонтекстВызова = КонтекстыВызова.Сервер Тогда
Возврат КонтекстыИсполнения().Сервер;
ИначеЕсли КонтекстВызова = КонтекстыВызова.КлиентУправляемоеПриложение
ИЛИ КонтекстВызова = КонтекстыВызова.КлиентОбычноеПриложение
ИЛИ КонтекстВызова = КонтекстыВызова.ВызовСервера Тогда
Возврат КонтекстыИсполнения().Клиент;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
// Формирует представление теста
//
// Параметры:
// Тест - см. ОписаниеТеста
//
// Возвращаемое значение:
// Строка - Представление теста
Функция ПредставлениеТеста(Тест) Экспорт
Если ЗначениеЗаполнено(Тест.Представление) Тогда
Представление = Тест.Представление;
ИначеЕсли ЗначениеЗаполнено(Тест.Параметры) Тогда
ПредставлениеПараметров = СтрСоединить(Тест.Параметры, ", ");
Представление = СтрШаблон("%1(%2)", Тест.Имя, ПредставлениеПараметров);
Иначе
Представление = Тест.Имя;
КонецЕсли;
Возврат Представление;
Возврат Новый ФиксированнаяСтруктура(Параметры);
КонецФункции
@ -835,64 +199,6 @@
КонецФункции
Функция ПараметрыЗаполненияТаблицыЗначений(Знач ПараметрыСозданияОбъектов = Неопределено) Экспорт
Если ПараметрыСозданияОбъектов = Неопределено Тогда
ПараметрыСозданияОбъектов = ПараметрыСозданияОбъектов();
Иначе
ВходныеПараметрыСозданияОбъектов = ПараметрыСозданияОбъектов;
ПараметрыСозданияОбъектов = ПараметрыСозданияОбъектов();
ЗаполнитьЗначенияСвойств(ПараметрыСозданияОбъектов, ВходныеПараметрыСозданияОбъектов);
КонецЕсли;
Возврат Новый ФиксированнаяСтруктура("СозданиеОбъектовМетаданных", ПараметрыСозданияОбъектов);
КонецФункции
// Параметры генератора отчета.
// Описывает предоставляемые модулем форматы отчетов
//
// Возвращаемое значение:
// Структура - Параметры генератора отчета:
// * Форматы - Структура - Форматы отчетов, предоставляемые модулем
Функция ПараметрыГенератораОтчета() Экспорт
Параметры = Новый Структура();
Параметры.Вставить("Форматы", Новый Структура);
Возврат Параметры;
КонецФункции
// Описание формата отчета.
//
// Параметры:
// Идентификатор - Строка - Уникальный идентификатор формата отчета
// Представление - Строка - Пользовательское представление отчета, выводится в форму настроек тестирования
//
// Возвращаемое значение:
// Структура - Описание формата отчета:
// * Идентификатор - Строка - Уникальный идентификатор формата отчета
// * Представление - Строка - Пользовательское представление отчета, выводится в форму настроек тестирования
// * ЗаписьВКаталог - Булево - Отчет записывается в каталог, в этом случае должен быть установлен призак `СамостоятельнаяЗаписьОтчета`
// * ФильтрВыбораФайла - Строка - Фильтр выбора, используется в форме настроек тестирования
// * ИмяФайлаПоУмолчанию - Строка - Для отчетов, записываемых в файл, имя файла если в параметрах указан каталог
// * СамостоятельнаяЗаписьОтчета - Булево - Способ записи отчета в файлы.
// Истина - Модуль формирования отчета самостоятельно записывает отчет
// Ложь - Модуль формирования отчета генерирует данные, которые записываются движком
Функция ОписаниеФорматаОтчета(Идентификатор, Представление) Экспорт
Описание = Новый Структура();
Описание.Вставить("Идентификатор", Идентификатор);
Описание.Вставить("Представление", Представление);
Описание.Вставить("ЗаписьВКаталог", Ложь);
Описание.Вставить("ФильтрВыбораФайла", "");
Описание.Вставить("ИмяФайлаПоУмолчанию", "");
Описание.Вставить("СамостоятельнаяЗаписьОтчета", Ложь);
Возврат Описание;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="430f3969-ed28-4cc2-bfc6-17fc870dfea5">
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="911cbbc2-3dc9-40d9-9a01-09e6afdbe230">
<name>ЮТФабрика</name>
<synonym>
<key>ru</key>

View File

@ -0,0 +1,698 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// 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.
//
//©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс
#Область Перечисления
// Типы ошибок.
//
// Возвращаемое значение:
// ФиксированнаяСтруктура - Типы возможных ошибок:
// * ТестНеРеализован - Строка
// * ОшибкаСравнения - Строка
// * ОшибкаОбработкиСобытия - Строка
// * Утверждений - Строка
// * Исполнения - Строка
// * ЧтенияТестов - Строка
// * МалоПараметров - Строка
// * МногоПараметров - Строка
// * НекорректныйКонтекстИсполнения - Строка
// * Пропущен - Строка
Функция ТипыОшибок() Экспорт
Типы = Новый Структура;
Для Каждого ТипОшибки Из ПараметрыТиповОшибок() Цикл
Типы.Вставить(ТипОшибки.Ключ, ТипОшибки.Ключ);
КонецЦикла;
//@skip-check constructor-function-return-section
Возврат Новый ФиксированнаяСтруктура(Типы);
КонецФункции
Функция ПараметрыТиповОшибок(Кешировать = Истина) Экспорт
Если Кешировать Тогда
ЮТСлужебныйПовторногоИспользования.ПараметрыТиповОшибок();
КонецЕсли;
Статусы = ЮТФабрика.СтатусыИсполненияТеста();
Реквизиты = "Ключ, Представление, Статус";
ТипыОшибок = Новый Массив();
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ТестНеРеализован", "Не реализован", Статусы.НеРеализован));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ОшибкаСравнения", "Ошибка сравнения", Статусы.Ошибка));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ОшибкаОбработкиСобытия", "Ошибка обработки события", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "Утверждений", "Ошибка утверждений", Статусы.Ошибка));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "Исполнения", "Ошибка исполнения", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "ЧтенияТестов", "Загрузки тестов", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "МалоПараметров", "Мало фактических параметров", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "МногоПараметров", "Много фактических параметров", Статусы.Сломан));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "НекорректныйКонтекстИсполнения", "Некорректный контекст исполнения", Статусы.Пропущен));
ТипыОшибок.Добавить(Новый Структура(Реквизиты, "Пропущен", "Пропущен", Статусы.Пропущен));
Возврат ЮТКоллекции.ВСтруктуру(ТипыОшибок, "Ключ");
КонецФункции
#КонецОбласти
#Область СтруктурыДанных
// Описание тестового модуля.
//
// Параметры:
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// НаборыТестов - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора
//
// Возвращаемое значение:
// Структура - Описание тестового модуля:
// * МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// * НаборыТестов - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора
// * Ошибки - Массив из см. ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ОписаниеТестовогоМодуля(МетаданныеМодуля, НаборыТестов) Экспорт
Описание = Новый Структура;
Описание.Вставить("МетаданныеМодуля", МетаданныеМодуля);
Описание.Вставить("НаборыТестов", НаборыТестов);
Описание.Вставить("Ошибки", Новый Массив);
Описание.Вставить("НастройкиВыполнения", Новый Структура());
Возврат Описание;
КонецФункции
// ОписаниеТестовогоНабора
// Возвращает описание регистрируемого тестового набора.
// Эта структура используется на этапе формирования описаний имеющихся тестов
// Параметры:
// Имя - Строка - Имя набора
// ТегиСтрокой - Строка - Теги набора
//
// Возвращаемое значение:
// Структура - Описание тестового набора:
// * Имя - Строка - Имя набора
// * Представление - Строка - Представление, краткое описание
// * Теги - Массив из Строка - Коллекция тегов набора
// * Тесты - Массив из см. ОписаниеТеста - Коллекция тестов набора, см. ОписаниеТеста
// * Ошибки - Массив из см. ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки - Описания ошибок регистрации тестов
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ОписаниеТестовогоНабора(Имя, ТегиСтрокой = "") Экспорт
Описание = Новый Структура;
Описание.Вставить("Имя", Строка(Имя));
Описание.Вставить("Представление", Строка(Имя));
Описание.Вставить("Теги", СтрРазделить(ТегиСтрокой, ", ", Ложь));
Описание.Вставить("Тесты", Новый Массив);
Описание.Вставить("Ошибки", Новый Массив);
Описание.Вставить("НастройкиВыполнения", Новый Структура());
Возврат Описание;
КонецФункции
// ОписаниеТеста
// Возвращает описание регистрируемого теста.
// Эта структура используется на этапе формирования описаний имеющихся тестов
// Параметры:
// Имя - Строка - Имя тестового метода
// Представление - Строка - Представление, краткое описание теста
// КонтекстыВызова - Массив из Строка - Контексты исполнения теста, см. ЮТФабрика.КонтекстыВызова
// ТегиСтрокой - Строка - Теги теста
//
// Возвращаемое значение:
// Структура - Описание теста:
// * Имя - Строка - Имя теста (тестового метода)
// * Представление - Строка - Представление теста
// * Теги - Массив из Строка - Теги теста
// * КонтекстВызова - Массив из Строка - Контексты исполнения теста
// * НастройкиВыполнения- Структура - Настройки исполнения теста
// * Параметры - Неопределено, Массив из Произвольный - Параметры теста
// * НомерВНаборе - Число - Порядковый номер теста в наборе
Функция ОписаниеТеста(Имя, Представление, КонтекстыВызова, Знач ТегиСтрокой = "") Экспорт
Если ТегиСтрокой = Неопределено Тогда
ТегиСтрокой = "";
КонецЕсли;
Описание = Новый Структура();
Описание.Вставить("Имя", Строка(Имя));
Описание.Вставить("Представление", Строка(Представление));
Описание.Вставить("Теги", СтрРазделить(ТегиСтрокой, ", ", Ложь));
Описание.Вставить("КонтекстВызова", КонтекстыВызова);
Описание.Вставить("НастройкиВыполнения", Новый Структура());
Описание.Вставить("Параметры", Неопределено);
Описание.Вставить("НомерВНаборе", 0);
Возврат Описание;
КонецФункции
// Описание исполняемого тестового модуля.
// Содержит всю необходимую информацию для прогона тестов, а также данные результата
// Параметры:
// ТестовыйМодуль - см. ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание тестового модуля:
// * МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// * НаборыТестов - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// * Ошибки - Массив из см. ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки
// * НастройкиВыполнения- Структура - Настройки исполнения теста
Функция ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль) Экспорт
Описание = Новый Структура;
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
Описание.Вставить("НаборыТестов", Новый Массив);
Описание.Вставить("Ошибки", ЮТКоллекции.СкопироватьМассив(ТестовыйМодуль.Ошибки));
Описание.Вставить("НастройкиВыполнения", ЮТКоллекции.СкопироватьСтруктуру(ТестовыйМодуль.НастройкиВыполнения));
Возврат Описание;
КонецФункции
// ОписаниеИсполняемогоНабораТестов
// Возвращает описание исполняемого тестового набора.
// Содержит данные необходимые для выполнения прогона тестов
// Параметры:
// НаборТестов - См. ОписаниеТестовогоНабора
// ТестовыйМодуль - См. ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание исполняемого набора тестов:
// * Имя - Строка - Имя набора
// * Представление - Строка - Представление набора
// * Теги - Массив из Строка - Тэги набора
// * Ошибки - Массив из см. ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста
// * Режим - Строка - Режим исполнения набора, см. ЮТФабрика.КонтекстыВызова
// * МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
// * Тесты - Массив из см. ОписаниеИсполняемогоТеста - Тесты набора, структуру тестов см. ОписаниеИсполняемогоТеста
// * Выполнять - Булево - Признак, что можно выполнить прогон набора (нет ошибок блокирующих запуск)
// * ДатаСтарта - Число - Дата запуска набора
// * Длительность - Число - Продолжительность выполнения набора
// * НастройкиВыполнения - Структура - Настройки исполнения теста
// * ТестовыйМодуль - См. ОписаниеТестовогоМодуля
Функция ОписаниеИсполняемогоНабораТестов(НаборТестов, ТестовыйМодуль) Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", НаборТестов.Имя);
Описание.Вставить("Представление", НаборТестов.Представление);
Описание.Вставить("Теги", НаборТестов.Теги);
Описание.Вставить("Ошибки", ЮТКоллекции.СкопироватьМассив(НаборТестов.Ошибки));
Описание.Вставить("Режим", "");
Описание.Вставить("ТестовыйМодуль", ТестовыйМодуль);
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
Описание.Вставить("Тесты", Новый Массив);
Описание.Вставить("Выполнять", Описание.Ошибки.Количество() = 0);
Описание.Вставить("ДатаСтарта", 0);
Описание.Вставить("Длительность", 0);
Описание.Вставить("НастройкиВыполнения", НаборТестов.НастройкиВыполнения);
Возврат Описание;
КонецФункции
// ОписаниеИсполняемогоТеста
// Возвращает описание исполняемого теста
// Содержит данные необходимые для выполнения прогона тестов
//
// Параметры:
// Тест - См. ОписаниеТеста
// Режим - См. ЮТФабрика.КонтекстыВызова
// ТестовыйМодуль - См. ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание исполняемого теста:
// * Имя - Строка - Имя/представление теста
// * Метод - Строка - Имя тестового метода
// * ПолноеИмяМетода - Строка - Полное имя тестового метода, ИмяМодуля.ИмяМетода
// * Теги - Массив из Строка - Теги теста
// * Режим - Строка - Режим исполнения теста, см. ЮТФабрика.КонтекстыВызова
// * ДатаСтарта - Число - Дата запуска теста
// * Длительность - Число - Продолжительность выполнения теста
// * Статус - Строка - Статус выполнения теста, см. ЮТФабрика.СтатусыИсполненияТеста
// * Ошибки - Массив из см. ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста, см. ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки
// * НастройкиВыполнения- Структура - Настройки исполнения теста
// * Параметры - Неопределено, Массив из Произвольный - Набор параметров теста
// * НомерВНаборе - Число - Порядковый номер теста в наборе
Функция ОписаниеИсполняемогоТеста(Тест, Режим, ТестовыйМодуль) Экспорт
ПолноеИмяМетода = СтрШаблон("%1.%2", ТестовыйМодуль.МетаданныеМодуля.Имя, Тест.Имя);
Представление = ПредставлениеТеста(Тест);
ОписаниеТеста = Новый Структура;
ОписаниеТеста.Вставить("Имя", Представление);
ОписаниеТеста.Вставить("Метод", Тест.Имя);
ОписаниеТеста.Вставить("ПолноеИмяМетода", ПолноеИмяМетода);
ОписаниеТеста.Вставить("Теги", Тест.Теги);
ОписаниеТеста.Вставить("Режим", Режим);
ОписаниеТеста.Вставить("ДатаСтарта", 0);
ОписаниеТеста.Вставить("Длительность", 0);
ОписаниеТеста.Вставить("Статус", ЮТФабрика.СтатусыИсполненияТеста().Ожидание);
ОписаниеТеста.Вставить("Ошибки", Новый Массив);
ОписаниеТеста.Вставить("НастройкиВыполнения", Тест.НастройкиВыполнения);
ОписаниеТеста.Вставить("Параметры", Тест.Параметры);
ОписаниеТеста.Вставить("НомерВНаборе", Тест.НомерВНаборе);
//@skip-check constructor-function-return-section
Возврат ОписаниеТеста;
КонецФункции
// ОписаниеКонтекстаОшибки
// Возвращает описание деталей/расшифровки ошибки
// Возвращаемое значение:
// Структура - Детали ошибки:
// * ОшибкаУтверждения - Булево - Признак, это ошибка проверки утверждения
// * ПроверяемоеЗначение - Произвольный - Фактическое значение
// * ОжидаемоеЗначение - Произвольный - Ожидаемое значение
// * Сообщение - Строка
Функция ОписаниеКонтекстаОшибки() Экспорт
Описание = Новый Структура("ПроверяемоеЗначение, ОжидаемоеЗначение");
Описание.Вставить("ОшибкаУтверждения", Ложь);
Описание.Вставить("Сообщение", "");
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// ОписаниеМодуля
// Возвращает структуру описания модуля
// Возвращаемое значение:
// Структура - Описание модуля:
// * Имя - Строка - Имя модуля
// * ПолноеИмя - Строка - Полное имя модуля
// * Расширение - Строка - Имя расширения, владельца модуля
// * КлиентУправляемоеПриложение - Булево - Доступность контекста
// * КлиентОбычноеПриложение - Булево - Доступность контекста
// * Сервер - Булево - Доступность контекста
// * ВызовСервера - Булево - Доступность контекста
// * Глобальный - Булево - Доступность контекста
Функция ОписаниеМодуля() Экспорт
Описание = Новый Структура;
Описание.Вставить("Имя", "");
Описание.Вставить("ПолноеИмя", "");
Описание.Вставить("Расширение", "");
Описание.Вставить("КлиентУправляемоеПриложение", Ложь);
Описание.Вставить("КлиентОбычноеПриложение", Ложь);
Описание.Вставить("Сервер", Ложь);
Описание.Вставить("ВызовСервера", Ложь);
Описание.Вставить("Глобальный", Ложь);
Возврат Описание;
КонецФункции
// ОписаниеВозникшейОшибки
// Возвращает базовую структуру ошибки
//
// Параметры:
// Сообщение - Строка
//
// Возвращаемое значение:
// Структура - Описание возникшей ошибки:
// * Сообщение - Строка - Описание возникшей ошибки
// * Стек - Строка - Стек возникшей ошибки
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрикаСлужебный.ТипыОшибок
Функция ОписаниеВозникшейОшибки(Сообщение) Экспорт
Возврат Новый Структура("Сообщение, Стек, ТипОшибки", Сообщение, "", "");
КонецФункции
// Возвращает базовую структуру ошибки проверки факта и ожидания
//
// Параметры:
// Сообщение - Строка
//
// Возвращаемое значение:
// Структура - Описание возникшей ошибки:
// * Сообщение - Строка - Описание возникшей ошибки
// * Стек - Строка - Стек возникшей ошибки
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрикаСлужебный.ТипыОшибок
// * ПроверяемоеЗначение - Произвольный - Проверяемое, фактическое значение
// * ОжидаемоеЗначение - Произвольный - Ожидаемое значение
Функция ОписаниеОшибкиСравнения(Сообщение) Экспорт
Описание = ОписаниеВозникшейОшибки(Сообщение);
Описание.ТипОшибки = ТипыОшибок().Утверждений;
Описание.Вставить("ПроверяемоеЗначение");
Описание.Вставить("ОжидаемоеЗначение");
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// Возвращает базовую структуру ошибки пропуска теста
//
// Параметры:
// Сообщение - Строка
//
// Возвращаемое значение:
// Структура - Описание возникшей ошибки:
// * Сообщение - Строка - Описание возникшей ошибки
// * Стек - Строка - Стек возникшей ошибки
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения
// См. ЮТФабрикаСлужебный.ТипыОшибок
Функция ОписаниеОшибкиПропуска(Сообщение) Экспорт
Описание = ОписаниеВозникшейОшибки(Сообщение);
Описание.ТипОшибки = ТипыОшибок().Пропущен;
Возврат Описание;
КонецФункции
// Описание события исполнения тестов.
//
// Параметры:
// Модуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
//
// Возвращаемое значение:
// Структура - Описание события исполнения тестов:
// * Модуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// * Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// * Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
Функция ОписаниеСобытияИсполненияТестов(Модуль, Набор = Неопределено, Тест = Неопределено) Экспорт
Описание = Новый Структура();
Описание.Вставить("Модуль", Модуль);
Описание.Вставить("Набор", Набор);
Описание.Вставить("Тест", Тест);
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// Описание категория набора тестов.
//
// Параметры:
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
//
// Возвращаемое значение:
// Структура - Описание категория набора тестов:
// * ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// * Клиентские - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// * Серверные - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// * Пропущенные - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
Функция ОписаниеКатегорияНабораТестов(ТестовыйМодуль) Экспорт
КатегорииНаборов = Новый Структура();
КатегорииНаборов.Вставить("ТестовыйМодуль", ТестовыйМодуль);
КатегорииНаборов.Вставить("Клиентские", Новый Массив());
КатегорииНаборов.Вставить("Серверные", Новый Массив());
КатегорииНаборов.Вставить("Пропущенные", Новый Массив());
//@skip-check constructor-function-return-section
Возврат КатегорииНаборов;
КонецФункции
// Формирует описание проверяемого значения.
// Используется в утверждения для формирования дружелюбного сообщения об ошибке.
//
// Параметры:
// ПроверяемоеЗначение - Произвольный - Проверяемое значение
//
// Возвращаемое значение:
// Структура - Описание проверяемого значения:
// * Значение - Произвольный
// * Представление - Строка - Представление объекта
// - Неопределено - Если не указано тогда используется платформенное предсталение (`Строка(Значение)`)
// * ИмяСвойства - Строка, Число, Неопределено - Имя проверяемого реквизита, индекса
Функция ОписаниеПроверяемогоЗначения(ПроверяемоеЗначение) Экспорт
Описание = Новый Структура();
Описание.Вставить("Значение", ПроверяемоеЗначение);
Описание.Вставить("Представление", Неопределено);
Описание.Вставить("ИмяСвойства", Неопределено);
Возврат Описание;
КонецФункции
// Описание проверки.
//
// Параметры:
// ПроверяемоеЗначение - Произвольный
//
// Возвращаемое значение:
// Структура - Описание проверки:
// * ОбъектПроверки - см. ОписаниеПроверяемогоЗначения
// * ПрефиксОшибки - Строка, Неопределено -
// * ОписаниеПроверки - Строка, Неопределено -
Функция ОписаниеПроверки(ПроверяемоеЗначение) Экспорт
Описание = Новый Структура();
Описание.Вставить("ОбъектПроверки", ОписаниеПроверяемогоЗначения(ПроверяемоеЗначение));
Описание.Вставить("ПрефиксОшибки", Неопределено);
Описание.Вставить("ОписаниеПроверки", Неопределено);
Возврат Описание;
КонецФункции
#КонецОбласти
#Область КонструкторыКонтекстов
// Данные контекста исполнения.
//
// Возвращаемое значение:
// Структура - Данные контекста исполнения:
// * Уровень - Строка - Возможные значения см. ЮТФабрика.УровниИсполнения
// * Модуль - Неопределено - Нет исполняемого модуля
// - см. ОписаниеТестовогоМодуля
// * Набор - Неопределено - Нет исполняемого тестового набора
// - см. ОписаниеИсполняемогоНабораТестов
// * Тест - Неопределено - Нет исполняемого теста
// - см. ОписаниеИсполняемогоТеста
Функция НовыйКонтекстИсполнения() Экспорт
Контекст = Новый Структура();
Контекст.Вставить("Уровень", "");
Контекст.Вставить("Модуль", Неопределено);
Контекст.Вставить("Набор", Неопределено);
Контекст.Вставить("Тест", Неопределено);
Возврат Контекст;
КонецФункции
// Описание результата проверки.
//
// Параметры:
// Успешно - Булево - Успешно
//
// Возвращаемое значение:
// Структура - Описание результата проверки:
// * Сообщения - Массив из Произвольный
// * Успешно - Булево
Функция ОписаниеРезультатаПроверки(Успешно = Истина) Экспорт
Описание = Новый Структура();
Описание.Вставить("Сообщения", Новый Массив);
Описание.Вставить("Успешно", Истина);
Возврат Описание;
КонецФункции
#КонецОбласти
// КонтекстыМодуля
// Возвращает коллекцию доступных контекстов выполнения модуля
// Параметры:
// Модуль - См. ОписаниеМодуля
//
// Возвращаемое значение:
// Массив из Строка - Контексты модуля, возможные значения см. ЮТФабрика.КонтекстыВызова
Функция КонтекстыМодуля(Модуль) Экспорт
Контексты = ЮТФабрика.КонтекстыВызова();
КонтекстыМодуля = Новый Массив();
Если Модуль.Сервер Тогда
КонтекстыМодуля.Добавить(Контексты.Сервер);
КонецЕсли;
Если Модуль.КлиентУправляемоеПриложение Тогда
КонтекстыМодуля.Добавить(Контексты.КлиентУправляемоеПриложение);
КонецЕсли;
Если Модуль.КлиентОбычноеПриложение Тогда
КонтекстыМодуля.Добавить(Контексты.КлиентОбычноеПриложение);
КонецЕсли;
Возврат КонтекстыМодуля;
КонецФункции
// КонтекстыПриложения
// Возвращает коллекцию доступных контекстов приложения
// Возвращаемое значение:
// Массив из Строка - Контексты приложения, возможные значения см. ЮТФабрика.КонтекстыВызова
Функция КонтекстыПриложения() Экспорт
#Если НЕ Клиент Тогда
ВызватьИсключение "Метод получения контекстов приложения должен вызываться с клиента";
#КонецЕсли
Контексты = ЮТФабрика.КонтекстыВызова();
КонтекстыПриложения = Новый Массив();
КонтекстыПриложения.Добавить(Контексты.Сервер);
КонтекстыПриложения.Добавить(Контексты.ВызовСервера);
#Если ТолстыйКлиентОбычноеПриложение Тогда
КонтекстыПриложения.Добавить(Контексты.КлиентОбычноеПриложение);
#ИначеЕсли ТолстыйКлиентУправляемоеПриложение Или ТонкийКлиент Тогда
КонтекстыПриложения.Добавить(Контексты.КлиентУправляемоеПриложение);
#КонецЕсли
Возврат КонтекстыПриложения;
КонецФункции
// КонтекстИсполнения
// Возвращает контекст исполнения по контексту вызова
// Параметры:
// КонтекстВызова - Строка - Контекст вызова, см. ЮТФабрика.КонтекстыВызова
//
// Возвращаемое значение:
// Неопределено, Строка - Контекст исполнения
Функция КонтекстИсполнения(КонтекстВызова) Экспорт
КонтекстыВызова = ЮТФабрика.КонтекстыВызова();
Если КонтекстВызова = КонтекстыВызова.Сервер Тогда
Возврат ЮТФабрика.КонтекстыИсполнения().Сервер;
ИначеЕсли КонтекстВызова = КонтекстыВызова.КлиентУправляемоеПриложение
ИЛИ КонтекстВызова = КонтекстыВызова.КлиентОбычноеПриложение
ИЛИ КонтекстВызова = КонтекстыВызова.ВызовСервера Тогда
Возврат ЮТФабрика.КонтекстыИсполнения().Клиент;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
// Формирует представление теста
//
// Параметры:
// Тест - см. ОписаниеТеста
//
// Возвращаемое значение:
// Строка - Представление теста
Функция ПредставлениеТеста(Тест) Экспорт
Если ЗначениеЗаполнено(Тест.Представление) Тогда
Представление = Тест.Представление;
ИначеЕсли ЗначениеЗаполнено(Тест.Параметры) Тогда
ПредставлениеПараметров = СтрСоединить(Тест.Параметры, ", ");
Представление = СтрШаблон("%1(%2)", Тест.Имя, ПредставлениеПараметров);
Иначе
Представление = Тест.Имя;
КонецЕсли;
Возврат Представление;
КонецФункции
Функция ПараметрыЗаполненияТаблицыЗначений(Знач ПараметрыСозданияОбъектов = Неопределено) Экспорт
Если ПараметрыСозданияОбъектов = Неопределено Тогда
ПараметрыСозданияОбъектов = ЮТФабрика.ПараметрыСозданияОбъектов();
Иначе
ВходныеПараметрыСозданияОбъектов = ПараметрыСозданияОбъектов;
ПараметрыСозданияОбъектов = ЮТФабрика.ПараметрыСозданияОбъектов();
ЗаполнитьЗначенияСвойств(ПараметрыСозданияОбъектов, ВходныеПараметрыСозданияОбъектов);
КонецЕсли;
Возврат Новый ФиксированнаяСтруктура("СозданиеОбъектовМетаданных", ПараметрыСозданияОбъектов);
КонецФункции
// Параметры генератора отчета.
// Описывает предоставляемые модулем форматы отчетов
//
// Возвращаемое значение:
// Структура - Параметры генератора отчета:
// * Форматы - Структура - Форматы отчетов, предоставляемые модулем
Функция ПараметрыГенератораОтчета() Экспорт
Параметры = Новый Структура();
Параметры.Вставить("Форматы", Новый Структура);
Возврат Параметры;
КонецФункции
// Описание формата отчета.
//
// Параметры:
// Идентификатор - Строка - Уникальный идентификатор формата отчета
// Представление - Строка - Пользовательское представление отчета, выводится в форму настроек тестирования
//
// Возвращаемое значение:
// Структура - Описание формата отчета:
// * Идентификатор - Строка - Уникальный идентификатор формата отчета
// * Представление - Строка - Пользовательское представление отчета, выводится в форму настроек тестирования
// * ЗаписьВКаталог - Булево - Отчет записывается в каталог, в этом случае должен быть установлен призак `СамостоятельнаяЗаписьОтчета`
// * ФильтрВыбораФайла - Строка - Фильтр выбора, используется в форме настроек тестирования
// * ИмяФайлаПоУмолчанию - Строка - Для отчетов, записываемых в файл, имя файла если в параметрах указан каталог
// * СамостоятельнаяЗаписьОтчета - Булево - Способ записи отчета в файлы.
// Истина - Модуль формирования отчета самостоятельно записывает отчет
// Ложь - Модуль формирования отчета генерирует данные, которые записываются движком
Функция ОписаниеФорматаОтчета(Идентификатор, Представление) Экспорт
Описание = Новый Структура();
Описание.Вставить("Идентификатор", Идентификатор);
Описание.Вставить("Представление", Представление);
Описание.Вставить("ЗаписьВКаталог", Ложь);
Описание.Вставить("ФильтрВыбораФайла", "");
Описание.Вставить("ИмяФайлаПоУмолчанию", "");
Описание.Вставить("СамостоятельнаяЗаписьОтчета", Ложь);
Возврат Описание;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#КонецОбласти

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="430f3969-ed28-4cc2-bfc6-17fc870dfea5">
<name>ЮТФабрикаСлужебный</name>
<synonym>
<key>ru</key>
<value>Фабрика</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<server>true</server>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

Some files were not shown because too many files have changed in this diff Show More