mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-01 19:14:35 +02:00
#ONECICD-546
This commit is contained in:
parent
e3e450c19e
commit
964399640c
@ -20,37 +20,40 @@
|
|||||||
// Экспортные процедуры и функции, предназначенные для использования другими
|
// Экспортные процедуры и функции, предназначенные для использования другими
|
||||||
// объектами конфигурации или другими программами
|
// объектами конфигурации или другими программами
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область ТестыAPI
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
Процедура ИсполняемыеСценарии() Экспорт
|
||||||
|
|
||||||
ЮТТесты
|
ЮТТесты
|
||||||
.Тест("ТестовыйМетод")
|
.ДобавитьТест("ТестовыйМетод")
|
||||||
|
.ДобавитьТест("ТестовыйМетод").СПараметрами(1, 2, 3);
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
#Область События
|
#Область События
|
||||||
|
|
||||||
Процедура ПередТестом() Экспорт
|
Процедура ПередВсемиТестами() Экспорт
|
||||||
|
|
||||||
НачатьТранзакцию();
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ПослеТеста() Экспорт
|
Процедура ПередКаждымТестом() Экспорт
|
||||||
|
|
||||||
Пока ТранзакцияАктивна() Цикл
|
КонецПроцедуры
|
||||||
ОтменитьТранзакцию();
|
|
||||||
КонецЦикла;
|
Процедура ПослеКаждогоТеста() Экспорт
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПослеВсехТестов() Экспорт
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область Тесты
|
Процедура ТестовыйМетод() Экспорт
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@
|
|||||||
Параметр9 = "_!%*",
|
Параметр9 = "_!%*",
|
||||||
Параметр10 = "_!%*") Экспорт
|
Параметр10 = "_!%*") Экспорт
|
||||||
|
|
||||||
Возврат МокитоСлужебный.МассивПараметров(Параметр1,
|
Возврат ЮТОбщий.ЗначениеВМассиве(Параметр1,
|
||||||
Параметр2,
|
Параметр2,
|
||||||
Параметр3,
|
Параметр3,
|
||||||
Параметр4,
|
Параметр4,
|
||||||
|
@ -228,6 +228,16 @@
|
|||||||
|
|
||||||
Если ПараметрыПерехватаОбъекта = Неопределено И ЭтоОбъект(Ключ) Тогда
|
Если ПараметрыПерехватаОбъекта = Неопределено И ЭтоОбъект(Ключ) Тогда
|
||||||
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка];
|
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка];
|
||||||
|
|
||||||
|
Если ПараметрыПерехватаОбъекта = Неопределено Тогда
|
||||||
|
|
||||||
|
ПолноеИмя = СтрРазделить(Ключ.Метаданные().ПолноеИмя(), ".");
|
||||||
|
|
||||||
|
Менеджер = Новый(СтрШаблон("%1Менеджер.%2", ПолноеИмя[0], ПолноеИмя[1]));
|
||||||
|
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер];
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ПараметрыПерехватаОбъекта;
|
Возврат ПараметрыПерехватаОбъекта;
|
||||||
@ -271,13 +281,13 @@
|
|||||||
|
|
||||||
#Область ОбработчикиСобытий
|
#Область ОбработчикиСобытий
|
||||||
|
|
||||||
Процедура ПередТестом(ОписаниеСобытия) Экспорт
|
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
|
||||||
|
|
||||||
ИнициализироватьНастройки();
|
ИнициализироватьНастройки();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ПослеТеста(ОписаниеСобытия) Экспорт
|
Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт
|
||||||
|
|
||||||
ОчиститьНастройки();
|
ОчиститьНастройки();
|
||||||
|
|
||||||
@ -285,85 +295,6 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
Функция МассивПараметров(Параметр1 = "_!%*",
|
|
||||||
Параметр2 = "_!%*",
|
|
||||||
Параметр3 = "_!%*",
|
|
||||||
Параметр4 = "_!%*",
|
|
||||||
Параметр5 = "_!%*",
|
|
||||||
Параметр6 = "_!%*",
|
|
||||||
Параметр7 = "_!%*",
|
|
||||||
Параметр8 = "_!%*",
|
|
||||||
Параметр9 = "_!%*",
|
|
||||||
Параметр10 = "_!%*") Экспорт
|
|
||||||
|
|
||||||
ФлагКонец = "_!%*";
|
|
||||||
|
|
||||||
Параметры = Новый Массив;
|
|
||||||
|
|
||||||
Если Параметр1 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр1);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр2 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр2);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр3 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр3);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр4 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр4);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр5 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр5);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр6 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр6);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр7 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр7);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр8 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр8);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр9 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр9);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Параметр10 <> ФлагКонец Тогда
|
|
||||||
Параметры.Добавить(Параметр10);
|
|
||||||
Иначе
|
|
||||||
Возврат Параметры;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат Параметры;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -18,30 +18,23 @@
|
|||||||
|
|
||||||
// @strict-types
|
// @strict-types
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
// Экспортные процедуры и функции, предназначенные для использования другими
|
|
||||||
// объектами конфигурации или другими программами
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
#Область ТестыAPI
|
|
||||||
|
|
||||||
Процедура ИсполняемыеСценарии() Экспорт
|
Процедура ИсполняемыеСценарии() Экспорт
|
||||||
|
|
||||||
ЮТТесты
|
ЮТТесты
|
||||||
.Тест("Обучение")
|
.ДобавитьТест("Обучение")
|
||||||
.Тест("Проверить")
|
.ДобавитьТест("Проверить")
|
||||||
.Тест("МокированиеМетодовСсылочныхОбъектов")
|
.ДобавитьТест("МокированиеМетодовСсылочныхОбъектов")
|
||||||
.Тест("НастройкаСерверныхМоковСКлиента")
|
.ДобавитьТест("НастройкаСерверныхМоковСКлиента")
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
#Область Тесты
|
|
||||||
|
|
||||||
Процедура Обучение() Экспорт
|
Процедура Обучение() Экспорт
|
||||||
|
|
||||||
Описание = "Обучение через явный вызов метода";
|
Описание = "Обучение через явный вызов метода";
|
||||||
|
|
||||||
Мокито.Обучение(РаботаСHTTP)
|
Мокито.Обучение(РаботаСHTTP)
|
||||||
.Когда(РаботаСHTTP.ОтправитьОбъектНаСервер(Мокито.ЛюбойПараметр(), Мокито.ЛюбойПараметр()))
|
.Когда(РаботаСHTTP.ОтправитьОбъектНаСервер(Мокито.ЛюбойПараметр(), Мокито.ЛюбойПараметр()))
|
||||||
.Вернуть(1)
|
.Вернуть(1)
|
||||||
|
@ -20,20 +20,23 @@
|
|||||||
// Экспортные процедуры и функции, предназначенные для использования другими
|
// Экспортные процедуры и функции, предназначенные для использования другими
|
||||||
// объектами конфигурации или другими программами
|
// объектами конфигурации или другими программами
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область ТестыAPI
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
||||||
|
|
||||||
ЮТТесты
|
ЮТТесты
|
||||||
|
.Тест("ПропуститьИсполнение")
|
||||||
.ТестКлиент("ВыполнитьМодульноеТестирование")
|
.ТестКлиент("ВыполнитьМодульноеТестирование")
|
||||||
.Тест("ВыполнитьГруппуНаборовТестов")
|
.Тест("ВыполнитьГруппуНаборовТестов")
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
Процедура ПропуститьИсполнение() Экспорт
|
||||||
|
|
||||||
#Область Тесты
|
ЮТест.Пропустить();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
@ -25,37 +25,38 @@
|
|||||||
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
||||||
|
|
||||||
ЮТТесты
|
ЮТТесты
|
||||||
.Тест("Что")
|
.ДобавитьТест("Что")
|
||||||
.Тест("Метод")
|
.ДобавитьТест("Метод")
|
||||||
.Тест("Свойство")
|
.ДобавитьТест("Свойство")
|
||||||
.Тест("ЭтоИстина")
|
.ДобавитьТест("НетСвойства")
|
||||||
.Тест("ЭтоНеИстина")
|
.ДобавитьТест("ЭтоИстина")
|
||||||
.Тест("ЭтоЛожь")
|
.ДобавитьТест("ЭтоНеИстина")
|
||||||
.Тест("ЭтоНеЛожь")
|
.ДобавитьТест("ЭтоЛожь")
|
||||||
.Тест("Равно")
|
.ДобавитьТест("ЭтоНеЛожь")
|
||||||
.Тест("НеРавно")
|
.ДобавитьТест("Равно")
|
||||||
.Тест("Больше")
|
.ДобавитьТест("НеРавно")
|
||||||
.Тест("БольшеИлиРавно")
|
.ДобавитьТест("Больше")
|
||||||
.Тест("Меньше")
|
.ДобавитьТест("БольшеИлиРавно")
|
||||||
.Тест("МеньшеИлиРавно")
|
.ДобавитьТест("Меньше")
|
||||||
.Тест("Заполнено")
|
.ДобавитьТест("МеньшеИлиРавно")
|
||||||
.Тест("НеЗаполнено")
|
.ДобавитьТест("Заполнено")
|
||||||
.Тест("Существует")
|
.ДобавитьТест("НеЗаполнено")
|
||||||
.Тест("НеСуществует")
|
.ДобавитьТест("Существует")
|
||||||
.Тест("ЭтоНеопределено")
|
.ДобавитьТест("НеСуществует")
|
||||||
.Тест("ЭтоНеНеопределено")
|
.ДобавитьТест("ЭтоНеопределено")
|
||||||
.Тест("ЭтоNull")
|
.ДобавитьТест("ЭтоНеНеопределено")
|
||||||
.Тест("ЭтоНеNull")
|
.ДобавитьТест("ЭтоNull")
|
||||||
.Тест("ИмеетТип")
|
.ДобавитьТест("ЭтоНеNull")
|
||||||
.Тест("НеИмеетТип")
|
.ДобавитьТест("ИмеетТип")
|
||||||
.Тест("Содержит")
|
.ДобавитьТест("НеИмеетТип")
|
||||||
.Тест("НеСодержит")
|
.ДобавитьТест("Содержит")
|
||||||
.Тест("ИмеетДлину")
|
.ДобавитьТест("НеСодержит")
|
||||||
.Тест("НеИмеетДлину")
|
.ДобавитьТест("ИмеетДлину")
|
||||||
.Тест("ВыбрасываетИсключение")
|
.ДобавитьТест("НеИмеетДлину")
|
||||||
.Тест("НеВыбрасываетИсключение")
|
.ДобавитьТест("ВыбрасываетИсключение")
|
||||||
.ТестСервер("СравнениеСложныхОбъектов")
|
.ДобавитьТест("НеВыбрасываетИсключение")
|
||||||
.Тест("ФормированиеСообщения")
|
.ДобавитьСерверныйТест("СравнениеСложныхОбъектов")
|
||||||
|
.ДобавитьТест("ФормированиеСообщения")
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -86,7 +87,7 @@
|
|||||||
|
|
||||||
ДанныеКонтекста = ЮТКонтекст.КонтекстПроверки();
|
ДанныеКонтекста = ЮТКонтекст.КонтекстПроверки();
|
||||||
ЮТУтверждения.Что(ДанныеКонтекста, "Свойство не установлено")
|
ЮТУтверждения.Что(ДанныеКонтекста, "Свойство не установлено")
|
||||||
.Свойство("ИмяСвойства").Равно("");
|
.Свойство("ИмяСвойства").Равно(Неопределено);
|
||||||
|
|
||||||
ЮТУтверждения.Что(Объект)
|
ЮТУтверждения.Что(Объект)
|
||||||
.Свойство("Примитив");
|
.Свойство("Примитив");
|
||||||
@ -139,7 +140,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуИсполнения(Ошибка, "Задано неправильное имя атрибута структуры");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Структура` содержит свойство `1+1`, но это не так.");
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -148,7 +149,9 @@
|
|||||||
Исключение
|
Исключение
|
||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуИсполнения(Ошибка, "Невалидный составной идентификатор: Задано неправильное имя атрибута структуры");
|
|
||||||
|
ПроверитьОшибкуУтверждения(Ошибка,
|
||||||
|
"Невалидный составной идентификатор: ожидали, что проверяемое значение `Структура` содержит свойство `Объект.1`, но это не так.");
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -159,6 +162,48 @@
|
|||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Структура` содержит свойство `Объект.Нулевой`, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Структура` содержит свойство `Объект.Нулевой`, но это не так");
|
||||||
|
|
||||||
|
Объект = Мокито.МассивПараметров("1", "2", "3");
|
||||||
|
ЮТУтверждения.Что(Объект, "Проверка элементов массива")
|
||||||
|
.Элемент(0).Равно("1")
|
||||||
|
.Элемент(1).Равно("2")
|
||||||
|
.Элемент(-1).Равно("3")
|
||||||
|
.Свойство("[00]").Равно("1")
|
||||||
|
.Свойство("[1]").Равно("2")
|
||||||
|
.Свойство("[-1]").Равно("3")
|
||||||
|
.НетСвойства(3)
|
||||||
|
.НетСвойства("[3]");
|
||||||
|
|
||||||
|
Объект.Добавить(Новый Структура("Первый, Второй", 1, Мокито.МассивПараметров(2)));
|
||||||
|
ЮТУтверждения.Что(Объект, "Проверка свойства элемента массива")
|
||||||
|
.Свойство("[3].Первый").Равно(1)
|
||||||
|
.Свойство("[3].Второй[-1]").Равно(2)
|
||||||
|
.Свойство("[3].Второй[0]").Равно(2)
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура НетСвойства() Экспорт
|
||||||
|
|
||||||
|
ВложеннаяСтруктура = Новый Структура("Строка, Число", "Строка", 123);
|
||||||
|
ВложенноеСоответствие = Новый Соответствие();
|
||||||
|
ВложенноеСоответствие.Вставить("Строка", "Строка");
|
||||||
|
ВложенноеСоответствие.Вставить("Число", 234);
|
||||||
|
ВложенноеСоответствие.Вставить(123, 456);
|
||||||
|
Объект = Новый Структура("Структура, Соответствие", ВложеннаяСтруктура, ВложенноеСоответствие);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Объект)
|
||||||
|
.Свойство("Структура").Равно(ВложеннаяСтруктура)
|
||||||
|
.НетСвойства("Число")
|
||||||
|
.Равно(Объект);
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
Ошибка = Неопределено;
|
||||||
|
ЮТест.ОжидаетЧто(Объект)
|
||||||
|
.НетСвойства("Соответствие")
|
||||||
|
Исключение
|
||||||
|
Ошибка = ИнформацияОбОшибке();
|
||||||
|
КонецПопытки;
|
||||||
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Структура` не содержит свойство `Соответствие`, но это не так.");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура Метод() Экспорт
|
Процедура Метод() Экспорт
|
||||||
@ -739,7 +784,7 @@
|
|||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` является заполненным, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` является заполненным, но это не так");
|
||||||
ПроверитьДанныеОшибкиУтверждения(Неопределено);
|
ПроверитьДанныеОшибкиСравнения(Неопределено, Неопределено);
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -749,7 +794,7 @@
|
|||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `0` является заполненным, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `0` является заполненным, но это не так");
|
||||||
ПроверитьДанныеОшибкиУтверждения(0);
|
ПроверитьДанныеОшибкиСравнения(0, Неопределено);
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -802,7 +847,7 @@
|
|||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Нет` не является заполненным, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Нет` не является заполненным, но это не так");
|
||||||
ПроверитьДанныеОшибкиУтверждения(Ложь);
|
ПроверитьДанныеОшибкиСравнения(Ложь, Неопределено);
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -843,7 +888,7 @@
|
|||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` существует, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` существует, но это не так");
|
||||||
ПроверитьДанныеОшибкиУтверждения(Неопределено);
|
ПроверитьДанныеОшибкиСравнения(Неопределено, Неопределено);
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -853,7 +898,7 @@
|
|||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` существует, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` существует, но это не так");
|
||||||
ПроверитьДанныеОшибкиУтверждения(Null);
|
ПроверитьДанныеОшибкиСравнения(Null, Неопределено);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@ -874,7 +919,7 @@
|
|||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Пустая строка: ожидали, что проверяемое значение `` не существует, но это не так");
|
ПроверитьОшибкуУтверждения(Ошибка, "Пустая строка: ожидали, что проверяемое значение `` не существует, но это не так");
|
||||||
ПроверитьДанныеОшибкиУтверждения("");
|
ПроверитьДанныеОшибкиСравнения("", Неопределено);
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
@ -1416,7 +1461,8 @@
|
|||||||
Исключение
|
Исключение
|
||||||
Ошибка = ИнформацияОбОшибке();
|
Ошибка = ИнформацияОбОшибке();
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что метод `МетодБезИсключение` вызовет исключение `Исключение`, но получили `{(1)}: Недостаточно фактических параметров`");
|
ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что метод `МетодБезИсключение` вызовет исключение `Исключение`, но получили");
|
||||||
|
ПроверитьОшибкуУтверждения(Ошибка, "Недостаточно фактических параметров");
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Ошибка = Неопределено;
|
Ошибка = Неопределено;
|
||||||
|
@ -173,7 +173,7 @@
|
|||||||
|
|
||||||
Наборы = Новый Массив();
|
Наборы = Новый Массив();
|
||||||
Набор = ЮТФабрика.ОписаниеТестовогоНабора("Тесты");
|
Набор = ЮТФабрика.ОписаниеТестовогоНабора("Тесты");
|
||||||
Тест = ЮТФабрика.ОписаниеТеста("Тест1", "Тест 1", Контексты.Сервер + ", " + Контексты.КлиентУправляемоеПриложение);
|
Тест = ЮТФабрика.ОписаниеТеста("Тест1", "Тест 1", ЮТОбщий.ЗначениеВМассиве(Контексты.Сервер, Контексты.КлиентУправляемоеПриложение));
|
||||||
Набор.Тесты.Добавить(Тест);
|
Набор.Тесты.Добавить(Тест);
|
||||||
Наборы.Добавить(Набор);
|
Наборы.Добавить(Набор);
|
||||||
|
|
||||||
|
@ -16,45 +16,44 @@
|
|||||||
//
|
//
|
||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
// Экспортные процедуры и функции, предназначенные для использования другими
|
|
||||||
// объектами конфигурации или другими программами
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
#Область ТестыAPI
|
|
||||||
|
|
||||||
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
||||||
|
|
||||||
ЮТТесты
|
ЮТТесты
|
||||||
.Тест("ПрочитатьНаборыТестов")
|
|
||||||
.Тест("ИсполняемыеСценарииМодуля")
|
.Тест("ИсполняемыеСценарииМодуля")
|
||||||
.Тест("ЭтоТестовыйМодуль")
|
.ДобавитьТестовыйНабор("ЭтоТестовыйМодуль", "Параметризированный, 1,2")
|
||||||
|
.Тест("ЭтоТестовыйМодуль").СПараметрами("ОМ_ЮТЧитатель", Истина)
|
||||||
|
.Тест("ЭтоТестовыйМодуль").СПараметрами("ОМ_ЮТУтверждения", Истина)
|
||||||
|
.Тест("ЭтоТестовыйМодуль").СПараметрами("ОМ_Мокито", Истина)
|
||||||
|
.Тест("ЭтоТестовыйМодуль").СПараметрами("ЮТЧитатель", Ложь)
|
||||||
|
.ДобавитьТестовыйНабор("ЗагрузкаТестов")
|
||||||
|
.ТестКлиент("ЗагрузитьТесты")
|
||||||
|
.ТестСервер("ЗагрузитьТесты")
|
||||||
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
Процедура ЗагрузитьТесты() Экспорт
|
||||||
|
|
||||||
#Область Тесты
|
|
||||||
|
|
||||||
Процедура ПрочитатьНаборыТестов() Экспорт
|
|
||||||
|
|
||||||
ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска();
|
ПараметрыЗапуска = ЮТФабрика.ПараметрыЗапуска();
|
||||||
ПараметрыЗапуска.filter.extensions = Неопределено;
|
ПараметрыЗапуска.filter.extensions = Неопределено;
|
||||||
ПараметрыЗапуска.filter.modules = ЮТОбщий.ЗначениеВМассиве("ОМ_ЮТЧитатель");
|
ПараметрыЗапуска.filter.modules = ЮТОбщий.ЗначениеВМассиве("ОМ_ЮТЧитатель");
|
||||||
|
|
||||||
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
|
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
|
||||||
ЮТУтверждения.Что(Наборы, "Прочитанные наборы")
|
ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы")
|
||||||
.ИмеетТип("Массив")
|
.ИмеетТип("Массив")
|
||||||
.ИмеетДлину(1);
|
.ИмеетДлину(1);
|
||||||
|
|
||||||
НаборМодуля = Наборы[0];
|
НаборМодуля = Наборы[0];
|
||||||
|
|
||||||
ЮТУтверждения.Что(НаборМодуля, "Набор тестов ОМ_ЮТЧитатель")
|
ЮТест.ОжидаетЧто(НаборМодуля, "Набор тестов ОМ_ЮТЧитатель")
|
||||||
.ИмеетТип("Структура")
|
.ИмеетТип("Структура")
|
||||||
.Свойство("МетаданныеМодуля").ИмеетТип("Структура")
|
.Свойство("МетаданныеМодуля").ИмеетТип("Структура")
|
||||||
.Свойство("НаборыТестов").ИмеетТип("Массив");
|
.Свойство("НаборыТестов").ИмеетТип("Массив");
|
||||||
|
|
||||||
МетаданныеМодуля = НаборМодуля.МетаданныеМодуля;
|
МетаданныеМодуля = НаборМодуля.МетаданныеМодуля;
|
||||||
ЮТУтверждения.Что(МетаданныеМодуля, "Метаданные модуля")
|
ЮТест.ОжидаетЧто(МетаданныеМодуля, "Метаданные модуля")
|
||||||
.Заполнено()
|
.Заполнено()
|
||||||
.ИмеетТип("Структура")
|
.ИмеетТип("Структура")
|
||||||
.Свойство("Имя").Равно("ОМ_ЮТЧитатель")
|
.Свойство("Имя").Равно("ОМ_ЮТЧитатель")
|
||||||
@ -66,27 +65,26 @@
|
|||||||
|
|
||||||
НаборыТестов = НаборМодуля.НаборыТестов;
|
НаборыТестов = НаборМодуля.НаборыТестов;
|
||||||
|
|
||||||
ЮТУтверждения.Что(НаборыТестов, "Наборы тестов модуля")
|
ЮТест.ОжидаетЧто(НаборыТестов, "Наборы тестов модуля")
|
||||||
.ИмеетТип("Массив")
|
.ИмеетТип("Массив")
|
||||||
.ИмеетДлину(1);
|
.ИмеетДлину(3);
|
||||||
|
|
||||||
ЮТУтверждения.Что(НаборыТестов[0], "Набор тестов модуля")
|
ЮТест.ОжидаетЧто(НаборыТестов[0], "Набор тестов по умолчанию")
|
||||||
.ИмеетТип("Структура")
|
.ИмеетТип("Структура")
|
||||||
.Свойство("Имя").Равно("Тесты")
|
.Свойство("Имя").Равно("ОМ_ЮТЧитатель")
|
||||||
.Свойство("Ошибки").ИмеетДлину(0)
|
|
||||||
.Свойство("Представление").Равно("ОМ_ЮТЧитатель")
|
.Свойство("Представление").Равно("ОМ_ЮТЧитатель")
|
||||||
.Свойство("Теги").ИмеетТип("Массив")
|
.Свойство("Ошибки").ИмеетТип("Массив").НеЗаполнено()
|
||||||
.Свойство("Теги").ИмеетДлину(0)
|
.Свойство("Теги").ИмеетТип("Массив").НеЗаполнено()
|
||||||
.Свойство("Тесты").ИмеетТип("Массив");
|
.Свойство("Тесты").ИмеетТип("Массив").ИмеетДлину(1);
|
||||||
|
|
||||||
Тесты = НаборыТестов[0].Тесты;
|
Тесты = НаборыТестов[0].Тесты;
|
||||||
|
|
||||||
ЮТУтверждения.Что(Тесты.Количество(), "Количество тестов модуля")
|
ЮТест.ОжидаетЧто(Тесты.Количество(), "Количество тестов модуля")
|
||||||
.БольшеИлиРавно(1);
|
.БольшеИлиРавно(1);
|
||||||
|
|
||||||
ЮТУтверждения.Что(Тесты[0], "Первый тест")
|
ЮТест.ОжидаетЧто(Тесты[0], "Первый тест")
|
||||||
.Свойство("Имя").Равно("ПрочитатьНаборыТестов")
|
.Свойство("Имя").Равно("ИсполняемыеСценарииМодуля")
|
||||||
.Свойство("Представление").Равно("ПрочитатьНаборыТестов")
|
.Свойство("Представление").НеЗаполнено()
|
||||||
.Свойство("Теги").Равно(Новый Массив())
|
.Свойство("Теги").Равно(Новый Массив())
|
||||||
.Свойство("КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("КлиентУправляемоеПриложение"));
|
.Свойство("КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("КлиентУправляемоеПриложение"));
|
||||||
|
|
||||||
@ -94,7 +92,7 @@
|
|||||||
ПараметрыЗапуска.filter.extensions = ЮТОбщий.ЗначениеВМассиве("tests");
|
ПараметрыЗапуска.filter.extensions = ЮТОбщий.ЗначениеВМассиве("tests");
|
||||||
|
|
||||||
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
|
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
|
||||||
ЮТУтверждения.Что(Наборы, "Прочитанные наборы расширения tests")
|
ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests")
|
||||||
.ИмеетДлину(2);
|
.ИмеетДлину(2);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -102,7 +100,7 @@
|
|||||||
Процедура ИсполняемыеСценарииМодуля() Экспорт
|
Процедура ИсполняемыеСценарииМодуля() Экспорт
|
||||||
|
|
||||||
МетаданныеМодуля = Новый Структура;
|
МетаданныеМодуля = Новый Структура;
|
||||||
МетаданныеМодуля.Вставить("Имя", "ОМ_СтроковыеФункцииКлиентСервер");
|
МетаданныеМодуля.Вставить("Имя", "ОМ_ЮТЧитатель");
|
||||||
МетаданныеМодуля.Вставить("КлиентУправляемоеПриложение", Истина);
|
МетаданныеМодуля.Вставить("КлиентУправляемоеПриложение", Истина);
|
||||||
МетаданныеМодуля.Вставить("КлиентОбычноеПриложение", Истина);
|
МетаданныеМодуля.Вставить("КлиентОбычноеПриложение", Истина);
|
||||||
МетаданныеМодуля.Вставить("Клиент", Ложь);
|
МетаданныеМодуля.Вставить("Клиент", Ложь);
|
||||||
@ -112,74 +110,51 @@
|
|||||||
ЮТФильтрация.УстановитьКонтекст(Новый Структура("filter", Новый Структура));
|
ЮТФильтрация.УстановитьКонтекст(Новый Структура("filter", Новый Структура));
|
||||||
Сценарии = ЮТЧитатель.ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
Сценарии = ЮТЧитатель.ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
||||||
|
|
||||||
ЮТУтверждения.Что(Сценарии, "Сценарии")
|
ЮТест.ОжидаетЧто(Сценарии, "Сценарии")
|
||||||
.ИмеетТип("Массив")
|
.ИмеетТип("Массив")
|
||||||
.ИмеетДлину(3);
|
.ИмеетДлину(3)
|
||||||
|
.Элемент(0).ИмеетТип("Структура")
|
||||||
|
.Элемент(1).ИмеетТип("Структура")
|
||||||
|
.Элемент(2).ИмеетТип("Структура")
|
||||||
|
;
|
||||||
|
|
||||||
Наборы = ЮТОбщий.КоллекцияВСоответствие(Сценарии, "Имя");
|
НаборПоУмолчанию = Сценарии[0];
|
||||||
|
НаборЭтоТестовыйМодуль = Сценарии[1];
|
||||||
|
НаборЗагрузкаТестов = Сценарии[2];
|
||||||
|
|
||||||
ЮТУтверждения.Что(Наборы, "Наборы тестов")
|
ЮТест.ОжидаетЧто(НаборПоУмолчанию, "Набор по умолчанию")
|
||||||
.Свойство("Тесты").ИмеетТип("Структура")
|
.Свойство("Имя").Равно("ОМ_ЮТЧитатель")
|
||||||
.Свойство("ТестовыйНабор").ИмеетТип("Структура")
|
.Свойство("Представление").Равно("ОМ_ЮТЧитатель")
|
||||||
.Свойство("Тестовый набор 2").ИмеетТип("Структура")
|
|
||||||
.ИмеетДлину(3);
|
|
||||||
|
|
||||||
Набор1 = Наборы["Тесты"];
|
|
||||||
Набор2 = Наборы["ТестовыйНабор"];
|
|
||||||
Набор3 = Наборы["Тестовый набор 2"];
|
|
||||||
|
|
||||||
ЮТУтверждения.Что(Набор1, "Набор по умолчанию")
|
|
||||||
.Свойство("Имя").Равно("Тесты")
|
|
||||||
.Свойство("Представление").Равно("ОМ_СтроковыеФункцииКлиентСервер")
|
|
||||||
.Свойство("Теги").ИмеетДлину(0)
|
.Свойство("Теги").ИмеетДлину(0)
|
||||||
.Свойство("Тесты").ИмеетДлину(3);
|
.Свойство("Тесты").ИмеетДлину(1)
|
||||||
|
.Свойство("Тесты[0].Имя").Равно("ИсполняемыеСценарииМодуля")
|
||||||
|
.Свойство("Тесты[0].Представление").НеЗаполнено()
|
||||||
|
.Свойство("Тесты[0].Теги").ИмеетДлину(0)
|
||||||
|
.Свойство("Тесты[0].КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("Сервер", "КлиентУправляемоеПриложение"))
|
||||||
|
;
|
||||||
|
|
||||||
ЮТУтверждения.Что(Набор2, "Набор ""ТестовыйНабор""")
|
ЮТест.ОжидаетЧто(НаборЗагрузкаТестов, "Набор 'ЗагрузкаТестов'")
|
||||||
.Свойство("Имя").Равно("ТестовыйНабор")
|
.Свойство("Имя").Равно("ЗагрузкаТестов")
|
||||||
.Свойство("Представление").Равно("ТестовыйНабор")
|
.Свойство("Тесты").ИмеетДлину(2)
|
||||||
.Свойство("Теги").ИмеетДлину(0)
|
.Свойство("Тесты[0].Имя").Равно("ЗагрузитьТесты")
|
||||||
.Свойство("Тесты").ИмеетДлину(3);
|
.Свойство("Тесты[0].КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("КлиентУправляемоеПриложение"))
|
||||||
|
.Свойство("Тесты[1].Имя").Равно("ЗагрузитьТесты")
|
||||||
|
.Свойство("Тесты[1].КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("Сервер"))
|
||||||
|
;
|
||||||
|
|
||||||
ЮТУтверждения.Что(Набор3, "Набор ""Тестовый набор 2""")
|
ЮТест.ОжидаетЧто(НаборЭтоТестовыйМодуль, "Набор 'ЭтоТестовыйМодуль'")
|
||||||
.Свойство("Имя").Равно("Тестовый набор 2")
|
.Свойство("Имя").Равно("ЭтоТестовыйМодуль")
|
||||||
.Свойство("Теги").ИмеетДлину(2)
|
.Свойство("Тесты").ИмеетДлину(4)
|
||||||
.Свойство("Тесты").ИмеетДлину(1);
|
.Свойство("Теги").ИмеетДлину(3)
|
||||||
|
;
|
||||||
ТестыПоУмолчанию = Набор1.Тесты;
|
|
||||||
ЮТУтверждения.Что(ТестыПоУмолчанию[0], "Первый тест набора по умолчанию")
|
|
||||||
.ИмеетТип("Структура")
|
|
||||||
.Свойство("Имя").Равно("ТестовыйМетод3")
|
|
||||||
.Свойство("Представление").Равно("Тестовый метод 3")
|
|
||||||
.Свойство("Теги").ИмеетДлину(0)
|
|
||||||
.Свойство("КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("Сервер", "КлиентУправляемоеПриложение"));
|
|
||||||
|
|
||||||
ЮТУтверждения.Что(ТестыПоУмолчанию[1], "Второй тест набора по умолчанию")
|
|
||||||
.Свойство("Имя").Равно("ТестовыйМетод4")
|
|
||||||
.Свойство("Представление").Равно("ТестовыйМетод4")
|
|
||||||
.Свойство("Теги").ИмеетДлину(0)
|
|
||||||
.Свойство("КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("КлиентУправляемоеПриложение"));
|
|
||||||
|
|
||||||
ЮТУтверждения.Что(ТестыПоУмолчанию[2], "Третий тест набора по умолчанию")
|
|
||||||
.Свойство("Имя").Равно("ТестовыйМетод4")
|
|
||||||
.Свойство("КонтекстВызова").Равно(ЮТОбщий.ЗначениеВМассиве("Сервер"))
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ЭтоТестовыйМодуль() Экспорт
|
Процедура ЭтоТестовыйМодуль(ИмяМодуля, ЭтоТестовый) Экспорт
|
||||||
|
|
||||||
Варианты = Новый Структура();
|
ОписаниеМодуля = ЮТМетаданныеСервер.МетаданныеМодуля(ИмяМодуля);
|
||||||
Варианты.Вставить("ОМ_ЮТЧитатель", Истина);
|
ЮТест.ОжидаетЧто(ЮТЧитатель.ЭтоТестовыйМодуль(ОписаниеМодуля), "Проверка модуля " + ИмяМодуля)
|
||||||
Варианты.Вставить("ОМ_СтроковыеФункцииКлиентСервер", Истина);
|
.Равно(ЭтоТестовый);
|
||||||
Варианты.Вставить("ОМ_ОшибкаЗагрузкиСценариев", Истина);
|
|
||||||
Варианты.Вставить("ЮТЧитатель", Ложь);
|
|
||||||
|
|
||||||
Для Каждого Вариант Из Варианты Цикл
|
|
||||||
|
|
||||||
ОписаниеМодуля = ЮТМетаданныеСервер.МетаданныеМодуля(Вариант.Ключ);
|
|
||||||
ЮТУтверждения.Что(ЮТЧитатель.ЭтоТестовыйМодуль(ОписаниеМодуля), "Проверка модуля " + Вариант.Ключ)
|
|
||||||
.Равно(Вариант.Значение);
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
@ -16,40 +16,31 @@
|
|||||||
//
|
//
|
||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
|
||||||
|
// @strict-types
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// Экспортные процедуры и функции, предназначенные для использования другими
|
// Экспортные процедуры и функции, предназначенные для использования другими
|
||||||
// объектами конфигурации или другими программами
|
// объектами конфигурации или другими программами
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область ПрограммныйИнтерфейс
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Экспортные процедуры и функции для служебного использования внутри подсистемы
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
Функция ПрочитатьКонфигурационныйФайл(Знач ТекстИзФайла = "") Экспорт
|
Процедура ИсполняемыеСценарии(ДополнительныеПараметры = Неопределено) Экспорт
|
||||||
|
|
||||||
Попытка
|
ЮТТесты
|
||||||
|
.Тест("Пропустить")
|
||||||
|
;
|
||||||
|
|
||||||
Возврат ЮТОбщий.ЗначениеИзJSON(ТекстИзФайла);
|
КонецПроцедуры
|
||||||
|
|
||||||
Исключение
|
Процедура Пропустить() Экспорт
|
||||||
|
|
||||||
ВызватьИсключение СтрШаблон("Ошибка чтения конфигурационного файла: '%1'", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
ЮТест.Пропустить();
|
||||||
|
ВызватьИсключение "Не отработал пропуск теста";
|
||||||
|
|
||||||
КонецПопытки;
|
КонецПроцедуры
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Процедуры и функции, составляющие внутреннюю реализацию модуля
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ae3fc89b-811b-4cd7-8403-bf334dfbed19">
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="99f3e7cb-2833-48ec-b998-6c497d633d15">
|
||||||
<name>ЮТПараметрыСервер</name>
|
<name>ОМ_ЮТест</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Параметры сервер</value>
|
<value>О м ест</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
|
<clientManagedApplication>true</clientManagedApplication>
|
||||||
<server>true</server>
|
<server>true</server>
|
||||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
<serverCall>true</serverCall>
|
|
||||||
</mdclass:CommonModule>
|
</mdclass:CommonModule>
|
@ -1,79 +0,0 @@
|
|||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
|
||||||
//
|
|
||||||
// Copyright 2021-2022 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.
|
|
||||||
//
|
|
||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Основной модуль для запуска тестирования
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
#Область ПрограммныйИнтерфейс
|
|
||||||
|
|
||||||
// Инициализировать
|
|
||||||
// Выполняет чтение и инициализацию параметров подсистемы тестирования
|
|
||||||
// Параметры:
|
|
||||||
// ПараметрыЗапускаСтрокой - Строка - Строка запуска приложения
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Структура - См. ЮТФабрика.ПараметрыЗапуска
|
|
||||||
Функция Инициализировать(Знач ПараметрыЗапускаСтрокой) Экспорт
|
|
||||||
|
|
||||||
Возврат ЮТПараметры.ПараметрыЗапуска(ПараметрыЗапускаСтрокой);
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// ВыполнятьМодульноеТестирование
|
|
||||||
// Возвращает признак необходимости выполнять модульное тестирование
|
|
||||||
// Параметры:
|
|
||||||
// Параметры - См. ЮТФабрика.ПараметрыЗапуска
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Булево - Необходимость выполнения модульного тестирования
|
|
||||||
Функция ВыполнятьМодульноеТестирование(Параметры) Экспорт
|
|
||||||
|
|
||||||
Возврат Параметры.ВыполнятьМодульноеТестирование;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// ВыполнитьМодульноеТестирование
|
|
||||||
// Запускает выполнение модульного тестирования
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Параметры - См. ЮТФабрика.ПараметрыЗапуска
|
|
||||||
Процедура ВыполнитьМодульноеТестирование(Параметры = Неопределено) Экспорт
|
|
||||||
|
|
||||||
Если Параметры = Неопределено Тогда
|
|
||||||
Параметры = ЮТ.Инициализировать(ПараметрЗапуска);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если НЕ ВыполнятьМодульноеТестирование(Параметры) Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЮТКонтекст.ИнициализироватьКонтекст();
|
|
||||||
|
|
||||||
ТестовыеМодули = ЮТЧитатель.ЗагрузитьТесты(Параметры);
|
|
||||||
|
|
||||||
РезультатыТестирования = ЮТИсполнитель.ВыполнитьМодульноеТестирование(ТестовыеМодули);
|
|
||||||
|
|
||||||
ЮТОтчет.СформироватьОтчет(РезультатыТестирования, Параметры);
|
|
||||||
|
|
||||||
Если Параметры.CloseAfterTests Тогда
|
|
||||||
ПрекратитьРаботуСистемы(Ложь);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
@ -22,15 +22,31 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
#Если Клиент Тогда
|
||||||
|
|
||||||
// ВыполнитьМодульноеТестирование
|
// ВыполнитьМодульноеТестирование
|
||||||
// Метод, по параметрам запуска, запускает выполнение всего процесса тестирования.
|
// Метод, по параметрам запуска, запускает выполнение всего процесса тестирования.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ТестовыеМодули - Массив из см. ЮТФабрика.ОписаниеТестовогоМодуля
|
// Параметры - См. ЮТФабрика.ПараметрыЗапуска
|
||||||
//
|
Процедура ВыполнитьМодульноеТестирование(Параметры = Неопределено) Экспорт
|
||||||
// Возвращаемое значение:
|
|
||||||
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
Если Параметры = Неопределено Тогда
|
||||||
Функция ВыполнитьМодульноеТестирование(ТестовыеМодули) Экспорт
|
Параметры = ЮТПараметры.ПараметрыЗапуска(ПараметрЗапуска);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НЕ Параметры.ВыполнятьМодульноеТестирование Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЮТКонтекст.ИнициализироватьКонтекст();
|
||||||
|
ЮТКонтекст.УстановитьГлобальныеНастройкиВыполнения(Параметры.settings);
|
||||||
|
ЮТСобытия.Инициализация(Параметры);
|
||||||
|
// Повторно сохраним для передачи на сервер
|
||||||
|
ЮТКонтекст.УстановитьГлобальныеНастройкиВыполнения(ЮТКонтекст.ГлобальныеНастройкиВыполнения());
|
||||||
|
ЮТКонтекст.УстановитьКонтекстИсполнения(ДанныеКонтекстаИсполнения());
|
||||||
|
|
||||||
|
ТестовыеМодули = ЮТЧитатель.ЗагрузитьТесты(Параметры);
|
||||||
|
|
||||||
РезультатыТестирования = Новый Массив();
|
РезультатыТестирования = Новый Массив();
|
||||||
|
|
||||||
@ -48,9 +64,15 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат РезультатыТестирования;
|
ЮТОтчет.СформироватьОтчет(РезультатыТестирования, Параметры);
|
||||||
|
|
||||||
КонецФункции
|
Если Параметры.CloseAfterTests Тогда
|
||||||
|
ПрекратитьРаботуСистемы(Ложь);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецЕсли
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
@ -73,6 +95,9 @@
|
|||||||
Возврат Наборы;
|
Возврат Наборы;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Уровни = ЮТФабрика.УровниИсполнения();
|
||||||
|
ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.Модуль;
|
||||||
|
|
||||||
ЮТСобытия.ПередВсемиТестамиМодуля(ТестовыйМодуль);
|
ЮТСобытия.ПередВсемиТестамиМодуля(ТестовыйМодуль);
|
||||||
|
|
||||||
Если ЕстьОшибки(ТестовыйМодуль) Тогда
|
Если ЕстьОшибки(ТестовыйМодуль) Тогда
|
||||||
@ -90,6 +115,8 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.Модуль;
|
||||||
|
|
||||||
ЮТСобытия.ПослеВсехТестовМодуля(ТестовыйМодуль);
|
ЮТСобытия.ПослеВсехТестовМодуля(ТестовыйМодуль);
|
||||||
|
|
||||||
Если ЕстьОшибки(ТестовыйМодуль) Тогда
|
Если ЕстьОшибки(ТестовыйМодуль) Тогда
|
||||||
@ -110,6 +137,9 @@
|
|||||||
|
|
||||||
Функция ВыполнитьНаборТестов(Набор, ТестовыйМодуль)
|
Функция ВыполнитьНаборТестов(Набор, ТестовыйМодуль)
|
||||||
|
|
||||||
|
Уровни = ЮТФабрика.УровниИсполнения();
|
||||||
|
ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.НаборТестов;
|
||||||
|
|
||||||
Набор.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
Набор.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
ЮТСобытия.ПередТестовымНабором(ТестовыйМодуль, Набор);
|
ЮТСобытия.ПередТестовымНабором(ТестовыйМодуль, Набор);
|
||||||
|
|
||||||
@ -118,14 +148,15 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результаты = Новый Массив();
|
Результаты = Новый Массив();
|
||||||
|
ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.Тест;
|
||||||
|
|
||||||
Для Каждого Тест Из Набор.Тесты Цикл
|
Для Каждого Тест Из Набор.Тесты Цикл
|
||||||
|
|
||||||
Тест.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
Тест.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||||
|
|
||||||
ЮТСобытия.ПередТестом(ТестовыйМодуль, Набор, Тест);
|
ЮТСобытия.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест);
|
||||||
ВыполнитьТестовыйМетод(Тест);
|
ВыполнитьТестовыйМетод(Тест);
|
||||||
ЮТСобытия.ПослеТеста(ТестовыйМодуль, Набор, Тест);
|
ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
|
||||||
|
|
||||||
ОбработатьЗавершениеТеста(Тест);
|
ОбработатьЗавершениеТеста(Тест);
|
||||||
|
|
||||||
@ -133,7 +164,9 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.НаборТестов;
|
||||||
ЮТСобытия.ПослеТестовогоНабора(ТестовыйМодуль, Набор);
|
ЮТСобытия.ПослеТестовогоНабора(ТестовыйМодуль, Набор);
|
||||||
|
|
||||||
Набор.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Набор.ДатаСтарта;
|
Набор.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Набор.ДатаСтарта;
|
||||||
|
|
||||||
Возврат Результаты;
|
Возврат Результаты;
|
||||||
@ -197,6 +230,7 @@
|
|||||||
КатегорииНаборов.Вставить("Пропущенные", Новый Массив());
|
КатегорииНаборов.Вставить("Пропущенные", Новый Массив());
|
||||||
|
|
||||||
КонтекстыПриложения = ЮТФабрика.КонтекстыПриложения();
|
КонтекстыПриложения = ЮТФабрика.КонтекстыПриложения();
|
||||||
|
КонтекстыМодуля = ЮТФабрика.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля);
|
||||||
КонтекстыИсполнения = ЮТФабрика.КонтекстыИсполнения();
|
КонтекстыИсполнения = ЮТФабрика.КонтекстыИсполнения();
|
||||||
|
|
||||||
Для Каждого Набор Из ИсполняемыеТестовыеНаборы Цикл
|
Для Каждого Набор Из ИсполняемыеТестовыеНаборы Цикл
|
||||||
@ -206,6 +240,8 @@
|
|||||||
ОшибкаКонтекста = Неопределено;
|
ОшибкаКонтекста = Неопределено;
|
||||||
Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда
|
Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда
|
||||||
ОшибкаКонтекста = "Неподдерживаемый режим запуска";
|
ОшибкаКонтекста = "Неподдерживаемый режим запуска";
|
||||||
|
ИначеЕсли КонтекстыМодуля.Найти(Набор.Режим) = Неопределено Тогда
|
||||||
|
ОшибкаКонтекста = "Модуль не доступен в этом контексте";
|
||||||
ИначеЕсли КонтекстИсполнения <> КонтекстыИсполнения.Сервер И КонтекстИсполнения <> КонтекстыИсполнения.Клиент Тогда
|
ИначеЕсли КонтекстИсполнения <> КонтекстыИсполнения.Сервер И КонтекстИсполнения <> КонтекстыИсполнения.Клиент Тогда
|
||||||
ОшибкаКонтекста = "Неизвестный контекст/режим исполнения";
|
ОшибкаКонтекста = "Неизвестный контекст/режим исполнения";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@ -252,7 +288,7 @@
|
|||||||
СтатусыИсполненияТеста = ЮТФабрика.СтатусыИсполненияТеста();
|
СтатусыИсполненияТеста = ЮТФабрика.СтатусыИсполненияТеста();
|
||||||
Тест.Статус = СтатусыИсполненияТеста.Исполнение;
|
Тест.Статус = СтатусыИсполненияТеста.Исполнение;
|
||||||
|
|
||||||
Ошибка = ЮТОбщий.ВыполнитьМетод(Тест.ПолноеИмяМетода);
|
Ошибка = ЮТОбщий.ВыполнитьМетод(Тест.ПолноеИмяМетода, Тест.Параметры);
|
||||||
|
|
||||||
Если Ошибка <> Неопределено Тогда
|
Если Ошибка <> Неопределено Тогда
|
||||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка);
|
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка);
|
||||||
@ -274,4 +310,18 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Данные контекста исполнения.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Данные контекста исполнения:
|
||||||
|
// * Уровень - Строка
|
||||||
|
Функция ДанныеКонтекстаИсполнения()
|
||||||
|
|
||||||
|
Контекст = Новый Структура();
|
||||||
|
Контекст.Вставить("Уровень", "");
|
||||||
|
|
||||||
|
Возврат Контекст;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -86,29 +86,56 @@
|
|||||||
|
|
||||||
// КонтекстТеста
|
// КонтекстТеста
|
||||||
// Возвращает структуру, в которой можно хранить данные используемые в тесте
|
// Возвращает структуру, в которой можно хранить данные используемые в тесте
|
||||||
// Данные живут в рамках одного теста, но доступны в обработчиках событий `ПередТестом` и `ПослеТеста`
|
// Данные живут в рамках одного теста, но доступны в обработчиках событий `ПередКаждымТестом` и `ПослеКаждогоТеста`
|
||||||
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеТеста`
|
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеКаждогоТеста`
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Неопределено, Структура - Контекст теста, возвращает неопределено если контекст не инициализирован
|
// Структура - Контекст теста
|
||||||
|
// Неопределено - Если метод вызывается за рамками теста
|
||||||
Функция КонтекстТеста() Экспорт
|
Функция КонтекстТеста() Экспорт
|
||||||
|
|
||||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаТеста());
|
Возврат ЗначениеКонтекста(ИмяКонтекстаТеста());
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// КонтекстНабора
|
// КонтекстНабора
|
||||||
// Возвращает структуру, в которой можно хранить данные используемые в тестах набора
|
// Возвращает структуру, в которой можно хранить данные используемые в тестах набора
|
||||||
// Данные живут в рамках одного набора тестов (данные между клиентом и сервером не синхронизируются)
|
// Данные живут в рамках одного набора тестов (данные между клиентом и сервером не синхронизируются)
|
||||||
// Доступны в каждом тесте набора и в обработчиках событий `ПередТестовымНабором`, `ПослеТестовогоНабора`, `ПередТестом` и `ПослеТеста`
|
// Доступны в каждом тесте набора и в обработчиках событий
|
||||||
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеТеста`
|
// + `ПередТестовымНабором`
|
||||||
|
// + `ПослеТестовогоНабора`
|
||||||
|
// + `ПередКаждымТестом`
|
||||||
|
// + `ПослеКаждогоТеста`
|
||||||
|
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеКаждогоТеста`
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Неопределено, Структура - Контекст набора тестов, возвращает неопределено если контекст не инициализирован
|
// Структура - Контекст набора тестов
|
||||||
|
// Неопределено - Если метод вызывается за рамками тестового набора
|
||||||
Функция КонтекстНабора() Экспорт
|
Функция КонтекстНабора() Экспорт
|
||||||
|
|
||||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаНабораТестов());
|
Возврат ЗначениеКонтекста(ИмяКонтекстаНабораТестов());
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// КонтекстМодуля
|
||||||
|
// Возвращает структуру, в которой можно хранить данные используемые в тестах модуля
|
||||||
|
// Данные живут в рамках одного тестового модуля (данные между клиентом и сервером не синхронизируются)
|
||||||
|
// Доступны в каждом тесте модуля и в обработчиках событий
|
||||||
|
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеВсехТестов`
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Контекст тестового модуля
|
||||||
|
// Неопределено - Если метод вызывается за рамками тестового модуля
|
||||||
|
Функция КонтекстМодуля() Экспорт
|
||||||
|
|
||||||
|
Возврат ЗначениеКонтекста(ИмяКонтекстаМодуля());
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ГлобальныеНастройкиВыполнения() Экспорт
|
||||||
|
|
||||||
|
Возврат ЗначениеКонтекста(ИмяГлобальныеНастройкиВыполнения());
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -123,7 +150,7 @@
|
|||||||
// Неопределено, Структура - Контекст ошибки, см. ЮТРегистрацияОшибок.НовыйКонтекстОшибки
|
// Неопределено, Структура - Контекст ошибки, см. ЮТРегистрацияОшибок.НовыйКонтекстОшибки
|
||||||
Функция КонтекстОшибки() Экспорт
|
Функция КонтекстОшибки() Экспорт
|
||||||
|
|
||||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаОшибки());
|
Возврат ЗначениеКонтекста(ИмяКонтекстаОшибки());
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -133,7 +160,7 @@
|
|||||||
// Неопределено, Структура - Контекст проверки
|
// Неопределено, Структура - Контекст проверки
|
||||||
Функция КонтекстПроверки() Экспорт
|
Функция КонтекстПроверки() Экспорт
|
||||||
|
|
||||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаУтверждений());
|
Возврат ЗначениеКонтекста(ИмяКонтекстаУтверждений());
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -143,7 +170,17 @@
|
|||||||
// Неопределено, Структура - Контекст проверки
|
// Неопределено, Структура - Контекст проверки
|
||||||
Функция КонтекстЧитателя() Экспорт
|
Функция КонтекстЧитателя() Экспорт
|
||||||
|
|
||||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаЧитателя());
|
Возврат ЗначениеКонтекста(ИмяКонтекстаЧитателя());
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// КонтекстЧитателя
|
||||||
|
// Возвращает служебный контекста, данные используемые исполнителем тестов
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// см. ЮТИсполнитель.ДанныеКонтекстаИсполнения
|
||||||
|
Функция КонтекстИсполнения() Экспорт
|
||||||
|
|
||||||
|
Возврат ЗначениеКонтекста(ИмяКонтекстаИсполнения());
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -158,31 +195,49 @@
|
|||||||
Процедура УстановитьКонтекстОшибки() Экспорт
|
Процедура УстановитьКонтекстОшибки() Экспорт
|
||||||
|
|
||||||
ДанныеОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки();
|
ДанныеОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки();
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаОшибки(), ДанныеОшибки);
|
УстановитьЗначениеКонтекста(ИмяКонтекстаОшибки(), ДанныеОшибки);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура УстановитьКонтекстУтверждений(Знач ДанныеКонтекста) Экспорт
|
Процедура УстановитьКонтекстУтверждений(Знач ДанныеКонтекста) Экспорт
|
||||||
|
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаУтверждений(), ДанныеКонтекста);
|
УстановитьЗначениеКонтекста(ИмяКонтекстаУтверждений(), ДанныеКонтекста);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура УстановитьКонтекстНабораТестов(Знач ДанныеКонтекста) Экспорт
|
Процедура УстановитьКонтекстНабораТестов(Знач ДанныеКонтекста) Экспорт
|
||||||
|
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаНабораТестов(), ДанныеКонтекста);
|
УстановитьЗначениеКонтекста(ИмяКонтекстаНабораТестов(), ДанныеКонтекста);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура УстановитьКонтекстМодуля(Знач ДанныеКонтекста) Экспорт
|
||||||
|
|
||||||
|
УстановитьЗначениеКонтекста(ИмяКонтекстаМодуля(), ДанныеКонтекста);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура УстановитьКонтекстТеста(Знач ДанныеКонтекста) Экспорт
|
Процедура УстановитьКонтекстТеста(Знач ДанныеКонтекста) Экспорт
|
||||||
|
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаТеста(), ДанныеКонтекста);
|
УстановитьЗначениеКонтекста(ИмяКонтекстаТеста(), ДанныеКонтекста);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура УстановитьКонтекстЧитателя(Знач ДанныеКонтекста, Знач УстановитьНаСервер = Ложь) Экспорт
|
Процедура УстановитьКонтекстЧитателя(Знач ДанныеКонтекста) Экспорт
|
||||||
|
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЧитателя(), ДанныеКонтекста, УстановитьНаСервер);
|
УстановитьЗначениеКонтекста(ИмяКонтекстаЧитателя(), ДанныеКонтекста, Истина);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура УстановитьКонтекстИсполнения(Знач ДанныеКонтекста) Экспорт
|
||||||
|
|
||||||
|
УстановитьЗначениеКонтекста(ИмяКонтекстаИсполнения(), ДанныеКонтекста, Истина);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура УстановитьГлобальныеНастройкиВыполнения(Знач Настройки) Экспорт
|
||||||
|
|
||||||
|
УстановитьЗначениеКонтекста(ИмяГлобальныеНастройкиВыполнения(), Настройки, Истина);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@ -211,6 +266,12 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИмяКонтекстаМодуля()
|
||||||
|
|
||||||
|
Возврат "КонтекстМодуля";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция ИмяКонтекстаТеста()
|
Функция ИмяКонтекстаТеста()
|
||||||
|
|
||||||
Возврат "КонтекстТеста";
|
Возврат "КонтекстТеста";
|
||||||
@ -223,4 +284,16 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИмяГлобальныеНастройкиВыполнения()
|
||||||
|
|
||||||
|
Возврат "ГлобальныеНастройкиВыполнения";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИмяКонтекстаИсполнения()
|
||||||
|
|
||||||
|
Возврат "КонтекстИсполнения";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
93
exts/yaxunit/src/CommonModules/ЮТКонтекстТеста/Module.bsl
Normal file
93
exts/yaxunit/src/CommonModules/ЮТКонтекстТеста/Module.bsl
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
//
|
||||||
|
// Copyright 2021-2022 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.
|
||||||
|
//
|
||||||
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Экспортные процедуры и функции для служебного использования внутри подсистемы
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
// Возвращает значение контекста
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяЗначения - Строка
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Произвольный
|
||||||
|
Функция Значение(ИмяЗначения) Экспорт
|
||||||
|
|
||||||
|
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
|
||||||
|
Уровни = ЮТФабрика.УровниИсполнения();
|
||||||
|
|
||||||
|
Если Уровень = Уровни.Тест И ЮТКонтекст.КонтекстТеста().Свойство(ИмяЗначения) Тогда
|
||||||
|
|
||||||
|
Возврат ЮТКонтекст.КонтекстТеста()[ИмяЗначения];
|
||||||
|
|
||||||
|
ИначеЕсли (Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов)
|
||||||
|
И ЮТКонтекст.КонтекстНабора().Свойство(ИмяЗначения) Тогда
|
||||||
|
|
||||||
|
Возврат ЮТКонтекст.КонтекстНабора()[ИмяЗначения];
|
||||||
|
|
||||||
|
ИначеЕсли (Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов ИЛИ Уровень = Уровни.Модуль)
|
||||||
|
И ЮТКонтекст.КонтекстМодуля().Свойство(ИмяЗначения) Тогда
|
||||||
|
|
||||||
|
Возврат ЮТКонтекст.КонтекстМодуля()[ИмяЗначения];
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Возврат Неопределено;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Установить значение.
|
||||||
|
// Устанавливает значение в контекст тестов.
|
||||||
|
// Установка происходит в соответствии с уровнем исполнения
|
||||||
|
// Параметры:
|
||||||
|
// ИмяЗначения - Строка
|
||||||
|
// Значение - Произвольный
|
||||||
|
Процедура УстановитьЗначение(ИмяЗначения, Значение) Экспорт
|
||||||
|
|
||||||
|
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
|
||||||
|
Уровни = ЮТФабрика.УровниИсполнения();
|
||||||
|
|
||||||
|
Если Уровень = Уровни.Тест Тогда
|
||||||
|
|
||||||
|
ЮТКонтекст.КонтекстТеста().Вставить(ИмяЗначения, Значение);
|
||||||
|
|
||||||
|
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
|
||||||
|
|
||||||
|
ЮТКонтекст.КонтекстНабора().Вставить(ИмяЗначения, Значение);
|
||||||
|
|
||||||
|
ИначеЕсли Уровень = Уровни.Модуль Тогда
|
||||||
|
|
||||||
|
ЮТКонтекст.КонтекстМодуля().Вставить(ИмяЗначения, Значение);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Процедуры и функции, составляющие внутреннюю реализацию модуля
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c0983c71-269a-40ef-bd4d-3e08f4003d6c">
|
||||||
|
<name>ЮТКонтекстТеста</name>
|
||||||
|
<synonym>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Контекст теста</value>
|
||||||
|
</synonym>
|
||||||
|
<clientManagedApplication>true</clientManagedApplication>
|
||||||
|
<server>true</server>
|
||||||
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
|
</mdclass:CommonModule>
|
@ -427,67 +427,84 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ЗначениеВМассиве(Значение,
|
Функция ЗначениеВМассиве(Значение,
|
||||||
Значение2 = Неопределено,
|
Значение2 = "_!%*",
|
||||||
Значение3 = Неопределено,
|
Значение3 = "_!%*",
|
||||||
Значение4 = Неопределено,
|
Значение4 = "_!%*",
|
||||||
Значение5 = Неопределено,
|
Значение5 = "_!%*",
|
||||||
Значение6 = Неопределено,
|
Значение6 = "_!%*",
|
||||||
Значение7 = Неопределено,
|
Значение7 = "_!%*",
|
||||||
Значение8 = Неопределено,
|
Значение8 = "_!%*",
|
||||||
Значение9 = Неопределено) Экспорт
|
Значение9 = "_!%*",
|
||||||
|
Значение10 = "_!%*") Экспорт
|
||||||
|
|
||||||
Массив = Новый Массив;
|
Массив = Новый Массив;
|
||||||
Массив.Добавить(Значение);
|
Массив.Добавить(Значение);
|
||||||
|
|
||||||
Если Не Значение2 = Неопределено Тогда
|
ФлагОкончания = "_!%*";
|
||||||
|
|
||||||
Массив.Добавить(Значение2);
|
Значения = Новый Массив;
|
||||||
|
|
||||||
|
Если Значение <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение);
|
||||||
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение3 = Неопределено Тогда
|
Если Значение2 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение2);
|
||||||
Массив.Добавить(Значение3);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение4 = Неопределено Тогда
|
Если Значение3 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение3);
|
||||||
Массив.Добавить(Значение4);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение5 = Неопределено Тогда
|
Если Значение4 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение4);
|
||||||
Массив.Добавить(Значение5);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение6 = Неопределено Тогда
|
Если Значение5 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение5);
|
||||||
Массив.Добавить(Значение6);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение7 = Неопределено Тогда
|
Если Значение6 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение6);
|
||||||
Массив.Добавить(Значение7);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение8 = Неопределено Тогда
|
Если Значение7 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение7);
|
||||||
Массив.Добавить(Значение8);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не Значение9 = Неопределено Тогда
|
Если Значение8 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение8);
|
||||||
Массив.Добавить(Значение9);
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Массив;
|
Если Значение9 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение9);
|
||||||
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Значение10 <> ФлагОкончания Тогда
|
||||||
|
Значения.Добавить(Значение10);
|
||||||
|
Иначе
|
||||||
|
Возврат Значения;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Значения;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -593,7 +610,7 @@
|
|||||||
|
|
||||||
Алгоритм = ПолноеИмяМетода;
|
Алгоритм = ПолноеИмяМетода;
|
||||||
|
|
||||||
ИначеЕсли Параметры = Неопределено Тогда
|
ИначеЕсли НЕ ЗначениеЗаполнено(Параметры) Тогда
|
||||||
|
|
||||||
Алгоритм = ПолноеИмяМетода + "()";
|
Алгоритм = ПолноеИмяМетода + "()";
|
||||||
|
|
||||||
@ -602,7 +619,7 @@
|
|||||||
Алгоритм = "";
|
Алгоритм = "";
|
||||||
Для Инд = 0 По Параметры.ВГраница() Цикл
|
Для Инд = 0 По Параметры.ВГраница() Цикл
|
||||||
|
|
||||||
Алгоритм = ЮТОбщий.ДобавитьСтроку(Алгоритм, СтрШаблон("Параметры[%1]", Инд), ", ");
|
Алгоритм = ДобавитьСтроку(Алгоритм, СтрШаблон("Параметры[%1]", Инд), ", ");
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@ -741,6 +758,24 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ВызовУстаревшегоМетода(УстаревшийМетод, РекомендуемыйМетод = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Сообщение = СтрШаблон("Используется устаревший метод '%1'. В следующий релизах метод будет удален", УстаревшийМетод);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(РекомендуемыйМетод) Тогда
|
||||||
|
Сообщение = СтрШаблон("%1. Рекомендуется использовать '%2'", Сообщение, РекомендуемыйМетод);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СообщитьПользователю(Сообщение);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция УстановленБезопасныйРежим() Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТОбщийВызовСервера.УстановленБезопасныйРежим();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -42,6 +42,12 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция УстановленБезопасныйРежим() Экспорт
|
||||||
|
|
||||||
|
Возврат БезопасныйРежим();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -147,7 +147,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЗаписатьСтек Тогда
|
Если ЗаписатьСтек И ОписаниеОшибки.Стек <> Неопределено Тогда
|
||||||
ЗаписьXML.ЗаписатьТекст(ОписаниеОшибки.Стек);
|
ЗаписьXML.ЗаписатьТекст(ОписаниеОшибки.Стек);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
// ПараметрыЗапускаСтрокой - Строка - Параметры запуска приложения
|
// ПараметрыЗапускаСтрокой - Строка - Параметры запуска приложения
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Загруженные параметры запуска, см. ЮТФабрика.ПараметрыЗапуска
|
// см. ЮТФабрика.ПараметрыЗапуска
|
||||||
Функция ПараметрыЗапуска(Знач ПараметрыЗапускаСтрокой) Экспорт
|
Функция ПараметрыЗапуска(Знач ПараметрыЗапускаСтрокой) Экспорт
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
@ -54,6 +54,27 @@
|
|||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
Функция ЗначениеНастройкиТеста(ИмяНастройки, ОписаниеТеста, ОписаниеТестовогоНабора, ЗначениеПоУмолчанию) Экспорт
|
||||||
|
|
||||||
|
Значение = ЗначениеПоУмолчанию;
|
||||||
|
|
||||||
|
Если ОписаниеТеста.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда
|
||||||
|
Значение = ОписаниеТеста.НастройкиВыполнения[ИмяНастройки];
|
||||||
|
ИначеЕсли ОписаниеТестовогоНабора.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда
|
||||||
|
Значение = ОписаниеТестовогоНабора.НастройкиВыполнения[ИмяНастройки];
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ГлобальныеНастройки = ЮТКонтекст.ГлобальныеНастройкиВыполнения();
|
||||||
|
Если ГлобальныеНастройки.Свойство(ИмяНастройки) Тогда
|
||||||
|
Значение = ГлобальныеНастройки[ИмяНастройки];
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Значение;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -70,7 +91,7 @@
|
|||||||
// Формат строки "RunUnitTests=/путь/к/конфигурационному/файлу", где ключ указывается обязательно, а путь - по желанию
|
// Формат строки "RunUnitTests=/путь/к/конфигурационному/файлу", где ключ указывается обязательно, а путь - по желанию
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Прочитанные параметры. См. Параметры
|
// см. ЮТФабрика.ПараметрыЗапуска
|
||||||
Функция ПрочитатьПараметрыЗапуска(Знач ПараметрыЗапускаСтрокой)
|
Функция ПрочитатьПараметрыЗапуска(Знач ПараметрыЗапускаСтрокой)
|
||||||
|
|
||||||
Параметры = ЮТФабрика.ПараметрыЗапуска();
|
Параметры = ЮТФабрика.ПараметрыЗапуска();
|
||||||
@ -125,6 +146,10 @@
|
|||||||
|
|
||||||
#Если НЕ ВебКлиент Тогда
|
#Если НЕ ВебКлиент Тогда
|
||||||
|
|
||||||
|
Если ЮТОбщий.УстановленБезопасныйРежим() Тогда
|
||||||
|
ВызватьИсключение "Раширение подключено в безопасном режиме. Чтение конфигурационного файла недоступно";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Файл = Новый Файл(ПутьКФайлу);
|
Файл = Новый Файл(ПутьКФайлу);
|
||||||
|
|
||||||
Если Не Файл.Существует() Тогда
|
Если Не Файл.Существует() Тогда
|
||||||
@ -138,7 +163,7 @@
|
|||||||
Текст = ЮТОбщий.ДанныеТекстовогоФайла(ПутьКФайлу);
|
Текст = ЮТОбщий.ДанныеТекстовогоФайла(ПутьКФайлу);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Текст) Тогда
|
Если ЗначениеЗаполнено(Текст) Тогда
|
||||||
ДанныеФайла = ЮТПараметрыСервер.ПрочитатьКонфигурационныйФайл(Текст);
|
ДанныеФайла = ЮТОбщий.ЗначениеИзJSON(Текст);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
|
@ -22,13 +22,15 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
#Область ФиксацияОшибокВРезультате
|
||||||
|
|
||||||
// Регистрирует ошибку обработки события исполнения тестов
|
// Регистрирует ошибку обработки события исполнения тестов
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ИмяСобытия - Строка
|
// ИмяСобытия - Строка
|
||||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||||
// Ошибка - ИнформацияОбОшибке
|
// Ошибка - ИнформацияОбОшибке
|
||||||
Процедура ЗарегистрироватьОшибкуСобытия(ИмяСобытия, ОписаниеСобытия, Ошибка) Экспорт
|
Процедура ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка) Экспорт
|
||||||
|
|
||||||
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия;
|
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия;
|
||||||
Пояснение = СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, Ошибка.Описание);
|
Пояснение = СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, Ошибка.Описание);
|
||||||
@ -69,6 +71,8 @@
|
|||||||
|
|
||||||
Если ТипОшибки = ЮТФабрика.ТипыОшибок().Утверждений Тогда
|
Если ТипОшибки = ЮТФабрика.ТипыОшибок().Утверждений Тогда
|
||||||
ДанныеОшибки = ДанныеОшибкиУтверждений(Ошибка);
|
ДанныеОшибки = ДанныеОшибкиУтверждений(Ошибка);
|
||||||
|
ИначеЕсли ТипОшибки = ЮТФабрика.ТипыОшибок().Пропущен Тогда
|
||||||
|
ДанныеОшибки = ДанныеОшибкиПропуска(Ошибка);
|
||||||
Иначе
|
Иначе
|
||||||
ДанныеОшибки = ДанныеОшибки(Ошибка, Ошибка.Описание, ТипОшибки);
|
ДанныеОшибки = ДанныеОшибки(Ошибка, Ошибка.Описание, ТипОшибки);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@ -88,6 +92,8 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
// Вызввает ошибку выполнения теста, на основании перехваченной ошибки
|
// Вызввает ошибку выполнения теста, на основании перехваченной ошибки
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@ -132,6 +138,16 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Пропустить(Сообщение) Экспорт
|
||||||
|
|
||||||
|
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
|
||||||
|
СтруктураОшибки.ОшибкаУтверждения = Ложь;
|
||||||
|
|
||||||
|
СообщениеОбОшибке = СообщениеОбОшибке(Сообщение, ПрефиксОшибкиПропуска());
|
||||||
|
ВызватьИсключение СообщениеОбОшибке;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ПредставлениеОшибки(Знач Описание, Знач Ошибка) Экспорт
|
Функция ПредставлениеОшибки(Знач Описание, Знач Ошибка) Экспорт
|
||||||
|
|
||||||
Если ТипЗнч(Ошибка) = Тип("ИнформацияОбОшибке") Тогда
|
Если ТипЗнч(Ошибка) = Тип("ИнформацияОбОшибке") Тогда
|
||||||
@ -199,6 +215,10 @@
|
|||||||
|
|
||||||
ТипОшибки = ТипыОшибок.Утверждений;
|
ТипОшибки = ТипыОшибок.Утверждений;
|
||||||
|
|
||||||
|
ИначеЕсли СтрНачинаетсяС(Описание, ПрефиксОшибкиПропуска()) Тогда
|
||||||
|
|
||||||
|
ТипОшибки = ТипыОшибок.Пропущен;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
ТипОшибки = ТипыОшибок.Исполнения;
|
ТипОшибки = ТипыОшибок.Исполнения;
|
||||||
@ -219,6 +239,12 @@
|
|||||||
|
|
||||||
Возврат "[Broken]";
|
Возврат "[Broken]";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПрефиксОшибкиПропуска() Экспорт
|
||||||
|
|
||||||
|
Возврат "[Skip]";
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СтатусВыполненияТеста(Тест) Экспорт
|
Функция СтатусВыполненияТеста(Тест) Экспорт
|
||||||
@ -297,11 +323,12 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
#Область КонструкторыОписанийОшибки
|
||||||
|
|
||||||
Функция ДанныеОшибки(Ошибка, Сообщение, ТипОшибки)
|
Функция ДанныеОшибки(Ошибка, Сообщение, ТипОшибки)
|
||||||
|
|
||||||
ДанныеОшибки = ЮТФабрика.ОписаниеВозникшейОшибки();
|
ДанныеОшибки = ЮТФабрика.ОписаниеВозникшейОшибки(ТипОшибки + ": " + Сообщение);
|
||||||
|
|
||||||
ДанныеОшибки.Сообщение = ТипОшибки + ": " + Сообщение;
|
|
||||||
Если Ошибка <> Неопределено Тогда
|
Если Ошибка <> Неопределено Тогда
|
||||||
ДанныеОшибки.Стек = ПодробноеПредставлениеОшибки(Ошибка);
|
ДанныеОшибки.Стек = ПодробноеПредставлениеОшибки(Ошибка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@ -314,18 +341,10 @@
|
|||||||
|
|
||||||
Функция ДанныеОшибкиУтверждений(Ошибка)
|
Функция ДанныеОшибкиУтверждений(Ошибка)
|
||||||
|
|
||||||
ДлинаПрефикса = СтрДлина(ПрефиксОшибкиУтверждений());
|
Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиУтверждений());
|
||||||
|
|
||||||
Описание = Сред(Ошибка.Описание, ДлинаПрефикса + 1);
|
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиСравнения(Описание);
|
||||||
Описание = СокрЛП(Описание);
|
|
||||||
|
|
||||||
Если СтрНачинаетсяС(Описание, "<") И СтрЗаканчиваетсяНа(Описание, ">") Тогда
|
|
||||||
Описание = Сред(Описание, 2, СтрДлина(Описание) - 2);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиСравнения();
|
|
||||||
|
|
||||||
ДанныеОшибки.Сообщение = Описание;
|
|
||||||
ДанныеОшибки.Стек = ПодробноеПредставлениеОшибки(Ошибка);
|
ДанныеОшибки.Стек = ПодробноеПредставлениеОшибки(Ошибка);
|
||||||
ДобавитьСообщенияПользователю(ДанныеОшибки);
|
ДобавитьСообщенияПользователю(ДанныеОшибки);
|
||||||
|
|
||||||
@ -340,6 +359,33 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ДанныеОшибкиПропуска(Ошибка)
|
||||||
|
|
||||||
|
Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиПропуска());
|
||||||
|
|
||||||
|
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиПропуска(Описание);
|
||||||
|
|
||||||
|
Возврат ДанныеОшибки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИзвлечьТекстОшибки(Ошибка, Префикс)
|
||||||
|
|
||||||
|
ДлинаПрефикса = СтрДлина(Префикс);
|
||||||
|
|
||||||
|
Описание = Сред(Ошибка.Описание, ДлинаПрефикса + 1);
|
||||||
|
Описание = СокрЛП(Описание);
|
||||||
|
|
||||||
|
Если СтрНачинаетсяС(Описание, "<") И СтрЗаканчиваетсяНа(Описание, ">") Тогда
|
||||||
|
Описание = Сред(Описание, 2, СтрДлина(Описание) - 2);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Описание;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
Функция МодулиУтверждений()
|
Функция МодулиУтверждений()
|
||||||
|
|
||||||
Возврат ЮТОбщий.ЗначениеВМассиве("ЮТУтверждения");
|
Возврат ЮТОбщий.ЗначениеВМассиве("ЮТУтверждения");
|
||||||
|
@ -29,12 +29,23 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
Процедура Инициализация(ПараметрыЗапуска) Экспорт
|
||||||
|
|
||||||
|
Параметры = ЮТОбщий.ЗначениеВМассиве(ПараметрыЗапуска);
|
||||||
|
ВызватьОбработчикРасширения("Инициализация", Параметры);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#Область СобытияИсполненияТестов
|
||||||
|
|
||||||
// Обработчик события "ПередВсемиТестамиМодуля"
|
// Обработчик события "ПередВсемиТестамиМодуля"
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||||
Процедура ПередВсемиТестамиМодуля(ТестовыйМодуль) Экспорт
|
Процедура ПередВсемиТестамиМодуля(ТестовыйМодуль) Экспорт
|
||||||
|
|
||||||
|
ЮТКонтекст.УстановитьКонтекстМодуля(Новый Структура());
|
||||||
|
|
||||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
|
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
|
||||||
ВызватьОбработкуСобытия("ПередВсемиТестами", ОписаниеСобытия);
|
ВызватьОбработкуСобытия("ПередВсемиТестами", ОписаниеСобытия);
|
||||||
|
|
||||||
@ -54,13 +65,13 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчик события "ПередТестом"
|
// Обработчик события "ПередКаждымТестом"
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||||
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||||
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||||
Процедура ПередТестом(ТестовыйМодуль, Набор, Тест) Экспорт
|
Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест) Экспорт
|
||||||
|
|
||||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
||||||
ЮТКонтекст.УстановитьКонтекстТеста(Новый Структура());
|
ЮТКонтекст.УстановитьКонтекстТеста(Новый Структура());
|
||||||
@ -75,21 +86,23 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
#КонецЕсли
|
#КонецЕсли
|
||||||
|
|
||||||
|
ВызватьОбработкуСобытия("ПередКаждымТестом", ОписаниеСобытия);
|
||||||
ВызватьОбработкуСобытия("ПередТестом", ОписаниеСобытия);
|
ВызватьОбработкуСобытия("ПередТестом", ОписаниеСобытия);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчик события "ПослеТеста"
|
// Обработчик события "ПослеКаждогоТеста"
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||||
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||||
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||||
Процедура ПослеТеста(ТестовыйМодуль, Набор, Тест) Экспорт
|
Процедура ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест) Экспорт
|
||||||
|
|
||||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
||||||
|
|
||||||
ВызватьОбработкуСобытия("ПослеТеста", ОписаниеСобытия);
|
ВызватьОбработкуСобытия("Послееста", ОписаниеСобытия);
|
||||||
|
ВызватьОбработкуСобытия("ПослеКаждогоТеста", ОписаниеСобытия);
|
||||||
|
|
||||||
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
||||||
Если ВТранзакции(ОписаниеСобытия) Тогда
|
Если ВТранзакции(ОписаниеСобытия) Тогда
|
||||||
@ -126,20 +139,35 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия)
|
#КонецОбласти
|
||||||
|
|
||||||
ЭтоСобытиеПеред = СтрНачинаетсяС(ИмяСобытия, "Перед");
|
#Область СобытияЗагрузкиТестов
|
||||||
|
|
||||||
Если ЭтоСобытиеПеред Тогда
|
// Обработчик события "ПередЧтениемСценариевМодуля"
|
||||||
ВызватьОбработчикРасширения(ИмяСобытия, ОписаниеСобытия);
|
// Позволяет настроить базовые параметры перед чтением настроек тестов модуля
|
||||||
ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия);
|
// Параметры:
|
||||||
Иначе
|
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||||
ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия);
|
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля) Экспорт
|
||||||
ВызватьОбработчикРасширения(ИмяСобытия, ОписаниеСобытия);
|
|
||||||
КонецЕсли;
|
Параметры = ЮТОбщий.ЗначениеВМассиве(МетаданныеМодуля);
|
||||||
|
ВызватьОбработчикРасширения("ПередЧтениемСценариевМодуля", Параметры);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// После чтения сценариев модуля.
|
||||||
|
// Позволяет настроить/обработать параметры загруженных настроек тестов модуля
|
||||||
|
// Параметры:
|
||||||
|
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||||
|
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
|
||||||
|
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
|
||||||
|
|
||||||
|
Параметры = ЮТОбщий.ЗначениеВМассиве(МетаданныеМодуля, ИсполняемыеСценарии);
|
||||||
|
ВызватьОбработчикРасширения("ПослеЧтенияСценариевМодуля", Параметры);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -147,22 +175,46 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
Процедура ВызватьОбработчикРасширения(ИмяСобытия, ОписаниеСобытия)
|
Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия)
|
||||||
|
|
||||||
|
ЭтоСобытиеПеред = СтрНачинаетсяС(ИмяСобытия, "Перед");
|
||||||
|
|
||||||
|
Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия);
|
||||||
|
|
||||||
|
Если ЭтоСобытиеПеред Тогда
|
||||||
|
Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры);
|
||||||
|
ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия);
|
||||||
|
Иначе
|
||||||
|
ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия);
|
||||||
|
Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого Ошибка Из Ошибки Цикл
|
||||||
|
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ВызватьОбработчикРасширения(ИмяСобытия, ПараметрыСобытия)
|
||||||
|
|
||||||
|
Ошибки = Новый Массив();
|
||||||
|
|
||||||
Для Каждого ИмяМодуля Из ЮТРасширения.ОбработчикиСобытий() Цикл
|
Для Каждого ИмяМодуля Из ЮТРасширения.ОбработчикиСобытий() Цикл
|
||||||
|
|
||||||
Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
|
Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
|
||||||
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия);
|
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия);
|
||||||
Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия));
|
Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Ошибка <> Неопределено Тогда
|
Если Ошибка <> Неопределено Тогда
|
||||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытия(ИмяСобытия, ОписаниеСобытия, Ошибка);
|
Ошибки.Добавить(Ошибка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
Возврат Ошибки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Вызвать обработчик модуля.
|
// Вызвать обработчик модуля.
|
||||||
//
|
//
|
||||||
@ -182,7 +234,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Ошибка <> Неопределено Тогда
|
Если Ошибка <> Неопределено Тогда
|
||||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытия(ИмяСобытия, ОписаниеСобытия, Ошибка);
|
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -191,15 +243,7 @@
|
|||||||
|
|
||||||
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции;
|
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции;
|
||||||
|
|
||||||
Если ОписаниеСобытия.Тест.НастройкиВыполнения.Свойство(ИмяПараметра) Тогда
|
Возврат ЮТПараметры.ЗначениеНастройкиТеста(ИмяПараметра, ОписаниеСобытия.Тест, ОписаниеСобытия.Набор, Ложь);
|
||||||
ВТранзакции = ОписаниеСобытия.Тест.НастройкиВыполнения[ИмяПараметра];
|
|
||||||
ИначеЕсли ОписаниеСобытия.Набор.НастройкиВыполнения.Свойство(ИмяПараметра) Тогда
|
|
||||||
ВТранзакции = ОписаниеСобытия.Набор.НастройкиВыполнения[ИмяПараметра];
|
|
||||||
Иначе
|
|
||||||
ВТранзакции = Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат ВТранзакции;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -314,18 +314,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Варианты.
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Реквизиты - Строка - Реквизиты
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// ОбщийМодуль
|
|
||||||
Функция Варианты(Реквизиты) Экспорт
|
|
||||||
|
|
||||||
Возврат ЮТКонструкторВариантов.Варианты(Реквизиты);
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// Экспортные процедуры и функции для служебного использования внутри подсистемы
|
// Экспортные процедуры и функции для служебного использования внутри подсистемы
|
||||||
@ -333,21 +321,21 @@
|
|||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
// Обработчик события "ПередТестом"
|
// Обработчик события "ПередКаждымТестом"
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||||
Процедура ПередТестом(ОписаниеСобытия) Экспорт
|
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
|
||||||
|
|
||||||
ЮТКонтекст.КонтекстТеста().Вставить("ВременныеФайлы", Новый Массив);
|
ЮТКонтекст.КонтекстТеста().Вставить("ВременныеФайлы", Новый Массив);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчик события "ПослеТеста"
|
// Обработчик события "ПослеКаждогоТеста"
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||||
Процедура ПослеТеста(ОписаниеСобытия) Экспорт
|
Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт
|
||||||
|
|
||||||
ВременныеФайлы = ЮТКонтекст.КонтекстТеста().ВременныеФайлы;
|
ВременныеФайлы = ЮТКонтекст.КонтекстТеста().ВременныеФайлы;
|
||||||
|
|
||||||
|
@ -26,15 +26,15 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
// ТестовыйНабор
|
// ДобавитьТестовыйНабор
|
||||||
// Создает и регистрирует набор, в который будут добавлятся последующие тесты
|
// Создает и регистрирует набор, в который будут добавлятся последующие тесты
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Имя - Строка - Имя набора тестов
|
// Имя - Строка - Имя набора тестов
|
||||||
// ТегиСтрокой - Строка - Теги относящиеся к набору и вложенным тестам. Это строка разделенная запятыми
|
// ТегиСтрокой - Строка - Теги относящиеся к набору и вложенным тестам. Это строка разделенная запятыми
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// CommonModule.ЮТТесты - Этот же модуль, для замыкания
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
Функция ТестовыйНабор(Имя, ТегиСтрокой = "") Экспорт
|
Функция ДобавитьТестовыйНабор(Имя, ТегиСтрокой = "") Экспорт
|
||||||
|
|
||||||
ИсполняемыеСценарии = СценарииМодуля();
|
ИсполняемыеСценарии = СценарииМодуля();
|
||||||
|
|
||||||
@ -49,7 +49,7 @@
|
|||||||
Контекст = Контекст();
|
Контекст = Контекст();
|
||||||
НовыйТестовыйНабор = ЮТФабрика.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
|
НовыйТестовыйНабор = ЮТФабрика.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
|
||||||
|
|
||||||
ИсполняемыеСценарии.ТестовыеНаборы.Вставить(Имя, НовыйТестовыйНабор);
|
ИсполняемыеСценарии.ТестовыеНаборы.Добавить(НовыйТестовыйНабор);
|
||||||
Контекст.ТекущийНабор = НовыйТестовыйНабор;
|
Контекст.ТекущийНабор = НовыйТестовыйНабор;
|
||||||
Контекст.ТекущийЭлемент = НовыйТестовыйНабор;
|
Контекст.ТекущийЭлемент = НовыйТестовыйНабор;
|
||||||
|
|
||||||
@ -57,8 +57,11 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Тест
|
// ДобавитьТест
|
||||||
// Регистрирует тест
|
// Регистрирует тест, исполняемый в контекстах, в которых доступен тестовый модуль
|
||||||
|
// Напрмер если модуль с тестами клиент-серверный, то тест будет вызван и на клиенте и на сервере
|
||||||
|
// Если клиентский, то только на клиенте
|
||||||
|
// Если клиент обычное приложение, то только при запуске в режиме обычного приложения
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||||
// ПредставлениеТеста - Строка - Представление теста
|
// ПредставлениеТеста - Строка - Представление теста
|
||||||
@ -66,8 +69,8 @@
|
|||||||
// Контексты - Строка - Контексты, строка перечисления контекстов вызова, разделенных запятой.
|
// Контексты - Строка - Контексты, строка перечисления контекстов вызова, разделенных запятой.
|
||||||
// Возможные значения см. ЮТФабрика.КонтекстыВызова
|
// Возможные значения см. ЮТФабрика.КонтекстыВызова
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// CommonModule.ЮТТесты - Этот же модуль, для замыкания
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
Функция Тест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "", Контексты = Неопределено) Экспорт
|
Функция ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "", Контексты = Неопределено) Экспорт
|
||||||
|
|
||||||
Контекст = Контекст();
|
Контекст = Контекст();
|
||||||
Набор = Контекст.ТекущийНабор;
|
Набор = Контекст.ТекущийНабор;
|
||||||
@ -91,33 +94,31 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// ТестКлиент
|
// ДобавитьКлиентскийТест
|
||||||
// Регистрирует текст вызывемый на клиенте
|
// Регистрирует текст исполняемый на клиенте
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||||
// ПредставлениеТеста - Строка - Представление теста
|
// ПредставлениеТеста - Строка - Представление теста
|
||||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// CommonModule.ЮТТесты - Этот же модуль, для замыкания
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
Функция ТестКлиент(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
Функция ДобавитьКлиентскийТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||||
|
|
||||||
Тест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, КонтекстыВызоваКлиента());
|
|
||||||
|
|
||||||
|
ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, КонтекстыВызоваКлиента());
|
||||||
Возврат ЮТТесты;
|
Возврат ЮТТесты;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Тест сервер.
|
// Регистрирует текст исполняемый на сервере
|
||||||
// Регистрирует текст вызывемый на сервере
|
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||||
// ПредставлениеТеста - Строка - Представление теста
|
// ПредставлениеТеста - Строка - Представление теста
|
||||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// CommonModule.ЮТТесты - Этот же модуль, для замыкания
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
Функция ТестСервер(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
Функция ДобавитьСерверныйТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||||
|
|
||||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||||
|
|
||||||
@ -134,7 +135,7 @@
|
|||||||
// Значение - Произвольный - Значение настройки
|
// Значение - Произвольный - Значение настройки
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// CommonModule.ЮТТесты - Этот же модуль, для замыкания
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
Функция НастройкаИсполнения(ИмяПараметра, Значение) Экспорт
|
Функция НастройкаИсполнения(ИмяПараметра, Значение) Экспорт
|
||||||
|
|
||||||
Контекст = Контекст();
|
Контекст = Контекст();
|
||||||
@ -155,7 +156,7 @@
|
|||||||
// ВыполнятьВТранзакции - Булево
|
// ВыполнятьВТранзакции - Булево
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// CommonModule.ЮТТесты - Этот же модуль, для замыкания
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
Функция ВТранзакции(ВыполнятьВТранзакции = Истина) Экспорт
|
Функция ВТранзакции(ВыполнятьВТранзакции = Истина) Экспорт
|
||||||
|
|
||||||
НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции, ВыполнятьВТранзакции);
|
НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции, ВыполнятьВТранзакции);
|
||||||
@ -164,6 +165,110 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СПараметрами(Параметр1 = "_!%*",
|
||||||
|
Параметр2 = "_!%*",
|
||||||
|
Параметр3 = "_!%*",
|
||||||
|
Параметр4 = "_!%*",
|
||||||
|
Параметр5 = "_!%*",
|
||||||
|
Параметр6 = "_!%*",
|
||||||
|
Параметр7 = "_!%*",
|
||||||
|
Параметр8 = "_!%*",
|
||||||
|
Параметр9 = "_!%*",
|
||||||
|
Параметр10 = "_!%*") Экспорт
|
||||||
|
|
||||||
|
Параметры = ЮТОбщий.ЗначениеВМассиве(Параметр1,
|
||||||
|
Параметр2,
|
||||||
|
Параметр3,
|
||||||
|
Параметр4,
|
||||||
|
Параметр5,
|
||||||
|
Параметр6,
|
||||||
|
Параметр7,
|
||||||
|
Параметр8,
|
||||||
|
Параметр9,
|
||||||
|
Параметр10);
|
||||||
|
|
||||||
|
Контекст = Контекст();
|
||||||
|
|
||||||
|
Если Контекст.ТекущийЭлемент = Неопределено Тогда
|
||||||
|
ВызватьИсключение "Не инициализированы настройки регистрации тестов";
|
||||||
|
ИначеЕсли НЕ ЭтоОписаниеТеста(Контекст.ТекущийЭлемент) Тогда
|
||||||
|
ВызватьИсключение "Параметры устанавливаются только для теста";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Контекст.ТекущийЭлемент.Параметры = Параметры;
|
||||||
|
|
||||||
|
Возврат ЮТТесты;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#Область Устаревшие
|
||||||
|
|
||||||
|
// Тест
|
||||||
|
// Регистрирует тест
|
||||||
|
// Параметры:
|
||||||
|
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||||
|
// ПредставлениеТеста - Строка - Представление теста
|
||||||
|
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||||
|
// Контексты - Строка - Контексты, строка перечисления контекстов вызова, разделенных запятой.
|
||||||
|
// Возможные значения см. ЮТФабрика.КонтекстыВызова
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
|
Функция Тест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "", Контексты = Неопределено) Экспорт
|
||||||
|
|
||||||
|
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.Тест", "ЮТТесты.ДобавитьТест");
|
||||||
|
Возврат ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Контексты);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// ТестКлиент
|
||||||
|
// Регистрирует текст вызывемый на клиенте
|
||||||
|
// Параметры:
|
||||||
|
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||||
|
// ПредставлениеТеста - Строка - Представление теста
|
||||||
|
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
|
Функция ТестКлиент(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||||
|
|
||||||
|
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.ТестКлиент", "ЮТТесты.ДобавитьКлиентскийТест");
|
||||||
|
Возврат ДобавитьКлиентскийТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Тест сервер.
|
||||||
|
// Регистрирует текст вызывемый на сервере
|
||||||
|
// Параметры:
|
||||||
|
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||||
|
// ПредставлениеТеста - Строка - Представление теста
|
||||||
|
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
|
Функция ТестСервер(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||||
|
|
||||||
|
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.ТестСервер", "ЮТТесты.ДобавитьСерверныйТест");
|
||||||
|
Возврат ДобавитьСерверныйТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// ТестовыйНабор
|
||||||
|
// Создает и регистрирует набор, в который будут добавлятся последующие тесты
|
||||||
|
// Параметры:
|
||||||
|
// Имя - Строка - Имя набора тестов
|
||||||
|
// ТегиСтрокой - Строка - Теги относящиеся к набору и вложенным тестам. Это строка разделенная запятыми
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||||
|
Функция ТестовыйНабор(Имя, ТегиСтрокой = "") Экспорт
|
||||||
|
|
||||||
|
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.ТестовыйНабор", "ЮТТесты.ДобавитьТестовыйНабор");
|
||||||
|
Возврат ДобавитьТестовыйНабор(Имя, ТегиСтрокой);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -176,6 +281,15 @@
|
|||||||
|
|
||||||
ИнициализироватьКонтекст(МетаданныеМодуля);
|
ИнициализироватьКонтекст(МетаданныеМодуля);
|
||||||
|
|
||||||
|
ЮТСобытия.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПослеЧтенияСценариевМодуля() Экспорт
|
||||||
|
|
||||||
|
Контекст = Контекст();
|
||||||
|
ЮТСобытия.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Описание сценариев модуля
|
// Описание сценариев модуля
|
||||||
@ -198,18 +312,19 @@
|
|||||||
|
|
||||||
// Исполняемые сценарии.
|
// Исполняемые сценарии.
|
||||||
//
|
//
|
||||||
|
// Параметры:
|
||||||
|
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||||
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Исполняемые сценарии:
|
// Структура -- Исполняемые сценарии::
|
||||||
// * ТестовыеНаборы - Соответствие - Тестовые наборы модуля
|
// * ТестовыеНаборы - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора - Тестовые наборы модуля
|
||||||
// * Ключ - Строка - Имя тестового набора
|
Функция ИсполняемыеСценарии(МетаданныеМодуля)
|
||||||
// * Значение - см. ЮТФабрика.ОписаниеТестовогоНабора
|
|
||||||
Функция ИсполняемыеСценарии()
|
|
||||||
|
|
||||||
Структура = Новый Структура;
|
Структура = Новый Структура;
|
||||||
Структура.Вставить("ТестовыеНаборы", Новый Соответствие);
|
Структура.Вставить("ТестовыеНаборы", Новый Массив());
|
||||||
|
|
||||||
НаборПоУмолчанию = ЮТФабрика.ОписаниеТестовогоНабора("Тесты");
|
Набор = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||||
Структура.ТестовыеНаборы.Вставить(НаборПоУмолчанию.Имя, НаборПоУмолчанию);
|
Структура.ТестовыеНаборы.Добавить(Набор);
|
||||||
|
|
||||||
Возврат Структура;
|
Возврат Структура;
|
||||||
|
|
||||||
@ -218,14 +333,13 @@
|
|||||||
Функция КонтекстыВызоваКлиента()
|
Функция КонтекстыВызоваКлиента()
|
||||||
|
|
||||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||||
|
Возврат ЮТОбщий.ЗначениеВМассиве(Режимы.КлиентУправляемоеПриложение, Режимы.КлиентОбычноеПриложение);
|
||||||
Возврат СтрШаблон("%1, %2", Режимы.КлиентУправляемоеПриложение, Режимы.КлиентОбычноеПриложение);
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция КонтекстыВызоваПоУмолчанию()
|
Функция КонтекстыВызоваПоУмолчанию()
|
||||||
|
|
||||||
Возврат СтрСоединить(ЮТФабрика.КонтекстыМодуля(Контекст().МетаданныеМодуля), ", ");
|
Возврат ЮТФабрика.КонтекстыМодуля(Контекст().МетаданныеМодуля);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -233,6 +347,8 @@
|
|||||||
|
|
||||||
Если НЕ ЗначениеЗаполнено(Контексты) Тогда
|
Если НЕ ЗначениеЗаполнено(Контексты) Тогда
|
||||||
Контексты = КонтекстыВызоваПоУмолчанию();
|
Контексты = КонтекстыВызоваПоУмолчанию();
|
||||||
|
ИначеЕсли ТипЗнч(Контексты) = Тип("Строка") Тогда
|
||||||
|
Контексты = СтрРазделить(Контексты, ", ", Ложь);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ЮТФабрика.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
|
Возврат ЮТФабрика.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
|
||||||
@ -242,7 +358,7 @@
|
|||||||
Функция ЭтоИсполняемыеСценарии(ИсполняемыеСценарии)
|
Функция ЭтоИсполняемыеСценарии(ИсполняемыеСценарии)
|
||||||
|
|
||||||
Возврат ТипЗнч(ИсполняемыеСценарии) = Тип("Структура")
|
Возврат ТипЗнч(ИсполняемыеСценарии) = Тип("Структура")
|
||||||
И ТипЗнч(ЮТОбщий.ЗначениеСтруктуры(ИсполняемыеСценарии, "ТестовыеНаборы")) = Тип("Соответствие");
|
И ТипЗнч(ЮТОбщий.ЗначениеСтруктуры(ИсполняемыеСценарии, "ТестовыеНаборы")) = Тип("Массив");
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -260,12 +376,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ТестовыйНаборПоУмолчанию(ИсполняемыеСценарии)
|
|
||||||
|
|
||||||
Возврат ИсполняемыеСценарии.ТестовыеНаборы["Тесты"];
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#Область Контекст
|
#Область Контекст
|
||||||
|
|
||||||
Функция Контекст()
|
Функция Контекст()
|
||||||
@ -276,27 +386,8 @@
|
|||||||
|
|
||||||
Процедура ИнициализироватьКонтекст(МетаданныеМодуля)
|
Процедура ИнициализироватьКонтекст(МетаданныеМодуля)
|
||||||
|
|
||||||
КонтекстРегистрации = ОписаниеКонтекстаРегистрацииСценариев(МетаданныеМодуля);
|
ИсполняемыеСценарии = ИсполняемыеСценарии(МетаданныеМодуля);
|
||||||
|
Набор = ИсполняемыеСценарии.ТестовыеНаборы[0];
|
||||||
ЮТКонтекст.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", КонтекстРегистрации);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Описание контекста регистрации сценариев.
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// МетаданныеМодуля - Структура - Метаданные модуля, см. ЮТФабрика.ОписаниеМодуля
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Структура - Описание контекста регистрации сценариев:
|
|
||||||
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
|
||||||
// * ИсполняемыеСценарии - Структура -:
|
|
||||||
// ** ТестовыеНаборы - Соответствие -
|
|
||||||
Функция ОписаниеКонтекстаРегистрацииСценариев(МетаданныеМодуля)
|
|
||||||
|
|
||||||
ИсполняемыеСценарии = ИсполняемыеСценарии();
|
|
||||||
Набор = ТестовыйНаборПоУмолчанию(ИсполняемыеСценарии);
|
|
||||||
Набор.Представление = МетаданныеМодуля.Имя;
|
|
||||||
|
|
||||||
Контекст = Новый Структура();
|
Контекст = Новый Структура();
|
||||||
|
|
||||||
@ -305,9 +396,9 @@
|
|||||||
Контекст.Вставить("ТекущийНабор", Набор);
|
Контекст.Вставить("ТекущийНабор", Набор);
|
||||||
Контекст.Вставить("ТекущийЭлемент", Набор);
|
Контекст.Вставить("ТекущийЭлемент", Набор);
|
||||||
|
|
||||||
Возврат Контекст;
|
ЮТКонтекст.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
|
||||||
|
|
||||||
КонецФункции
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
@ -115,18 +115,47 @@
|
|||||||
|
|
||||||
УстановитьОписаниеПроверки(ОписаниеПроверки);
|
УстановитьОписаниеПроверки(ОписаниеПроверки);
|
||||||
Контекст = Контекст();
|
Контекст = Контекст();
|
||||||
Контекст.ИмяСвойства = ""; // Очищаем для формирования корректного сообщения об ошибке
|
Контекст.ИмяСвойства = Неопределено; // Очищаем для формирования корректного сообщения об ошибке
|
||||||
|
|
||||||
ЭтоДействительнаяЦепочкаСвойств(Контекст.ПроверяемоеЗначение, ИмяСвойства, Истина);
|
Путь = НормализованныйПутьКСвойству(Контекст.ПроверяемоеЗначение, ИмяСвойства, Истина);
|
||||||
|
|
||||||
Контекст.ИмяСвойства = ИмяСвойства;
|
Контекст.ИмяСвойства = ИмяСвойства;
|
||||||
|
Контекст.НормализованныйПутьКСвойству = Путь;
|
||||||
|
|
||||||
|
Возврат ЮТУтверждения;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверяет наличие элемента с указанным индексом и позиционируется на нем для последующих проверок
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Индекс - Число - Индекс элемента коллекции
|
||||||
|
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот модуль для замыкания
|
||||||
|
Функция Элемент(Знач Индекс, Знач ОписаниеПроверки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Возврат Свойство(Индекс, ОписаниеПроверки);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Используется после вызова метода "Свойство", для переключения с ранее указанного свойства на объект
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот модуль для замыкания
|
||||||
|
Функция Объект() Экспорт
|
||||||
|
|
||||||
|
Контекст = Контекст();
|
||||||
|
Контекст.ИмяСвойства = Неопределено;
|
||||||
|
|
||||||
Возврат ЮТУтверждения;
|
Возврат ЮТУтверждения;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// НетСвойства
|
// НетСвойства
|
||||||
// Проверяет отсутствие свойства
|
// Проверяет отсутствие свойства основного объекта
|
||||||
|
// И сбрасывает ранее установленное проверяемое свойство
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ИмяСвойства - Строка - Наименование свойства объекта.
|
// ИмяСвойства - Строка - Наименование свойства объекта.
|
||||||
@ -139,8 +168,10 @@
|
|||||||
|
|
||||||
УстановитьОписаниеПроверки(ОписаниеПроверки);
|
УстановитьОписаниеПроверки(ОписаниеПроверки);
|
||||||
Контекст = Контекст();
|
Контекст = Контекст();
|
||||||
|
Контекст.ИмяСвойства = Неопределено; // Очищаем для формирования корректного сообщения об ошибке
|
||||||
|
|
||||||
Если ЭтоДействительнаяЦепочкаСвойств(Контекст.ПроверяемоеЗначение, ИмяСвойства, Ложь) Тогда
|
Путь = НормализованныйПутьКСвойству(Контекст.ПроверяемоеЗначение, ИмяСвойства, Ложь);
|
||||||
|
Если Путь <> Неопределено Тогда
|
||||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства);
|
ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@ -792,11 +823,42 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Обработчик события "ПередТестом"
|
// Инициализирует контекст утверждений
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - контекст утверждений:
|
||||||
|
// * ПроверяемоеЗначение - Произвольный
|
||||||
|
// * ПредставлениеПроверяемогоЗначения - Строка
|
||||||
|
// * ПрефиксОшибки - Строка
|
||||||
|
// * ИмяМетода - Строка
|
||||||
|
// * ИмяСвойства - Строка
|
||||||
|
// * НормализованныйПутьКСвойству - Неопределено - Не указано свойство
|
||||||
|
// - Массив из Строка, Число
|
||||||
|
// * ПараметрыМетода - Неопределено - Не установлены
|
||||||
|
// - Массив из Произвольный
|
||||||
|
// * ОписаниеПроверки - Строка
|
||||||
|
Функция НовыйКонтекстУтверждения() Экспорт
|
||||||
|
|
||||||
|
Контекст = Новый Структура;
|
||||||
|
|
||||||
|
Контекст.Вставить("ПроверяемоеЗначение", Неопределено);
|
||||||
|
Контекст.Вставить("ПредставлениеПроверяемогоЗначения", Неопределено);
|
||||||
|
Контекст.Вставить("ПрефиксОшибки", "");
|
||||||
|
Контекст.Вставить("ИмяМетода", "");
|
||||||
|
Контекст.Вставить("ИмяСвойства", Неопределено);
|
||||||
|
Контекст.Вставить("НормализованныйПутьКСвойству", Неопределено);
|
||||||
|
Контекст.Вставить("ПараметрыМетода", Неопределено);
|
||||||
|
Контекст.Вставить("ОписаниеПроверки", Неопределено);
|
||||||
|
|
||||||
|
Возврат Контекст;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Обработчик события "ПередКаждымТестом"
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||||
Процедура ПередТестом(ОписаниеСобытия) Экспорт
|
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
|
||||||
|
|
||||||
ЮТУтверждения.СброситьКонтекст();
|
ЮТУтверждения.СброситьКонтекст();
|
||||||
|
|
||||||
@ -812,21 +874,6 @@
|
|||||||
|
|
||||||
#Область Контекст
|
#Область Контекст
|
||||||
|
|
||||||
Функция НовыйКонтекстУтверждения()
|
|
||||||
|
|
||||||
Контекст = Новый Структура;
|
|
||||||
|
|
||||||
Контекст.Вставить("ПроверяемоеЗначение", Неопределено);
|
|
||||||
Контекст.Вставить("ПредставлениеПроверяемогоЗначения", Неопределено);
|
|
||||||
Контекст.Вставить("ПрефиксОшибки", "");
|
|
||||||
Контекст.Вставить("ИмяМетода", "");
|
|
||||||
Контекст.Вставить("ИмяСвойства", "");
|
|
||||||
Контекст.Вставить("ПараметрыМетода", Неопределено);
|
|
||||||
Контекст.Вставить("ОписаниеПроверки", Неопределено);
|
|
||||||
|
|
||||||
Возврат Контекст;
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция ИнициализироватьКонтекстУтверждения()
|
Функция ИнициализироватьКонтекстУтверждения()
|
||||||
|
|
||||||
Контекст = НовыйКонтекстУтверждения();
|
Контекст = НовыйКонтекстУтверждения();
|
||||||
@ -857,24 +904,22 @@
|
|||||||
Контекст = Контекст();
|
Контекст = Контекст();
|
||||||
Значение = Контекст.ПроверяемоеЗначение;
|
Значение = Контекст.ПроверяемоеЗначение;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Контекст.ИмяСвойства) Тогда
|
Если Контекст.ИмяСвойства <> Неопределено Тогда
|
||||||
|
|
||||||
Если ТипЗнч(Контекст.ИмяСвойства) = Тип("Строка") Тогда
|
Для Каждого Часть Из Контекст.НормализованныйПутьКСвойству Цикл
|
||||||
|
|
||||||
Части = СтрРазделить(Контекст.ИмяСвойства, ".");
|
Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда
|
||||||
|
Значение = Значение.Получить();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого Часть Из Части Цикл
|
Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда
|
||||||
|
Часть = Значение.Количество() + Часть;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Значение = Значение[Часть];
|
Значение = Значение[Часть];
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Значение = Значение[Контекст.ИмяСвойства]; // Для соответствий
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Значение;
|
Возврат Значение;
|
||||||
@ -888,9 +933,13 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ЭтоДействительнаяЦепочкаСвойств(Знач Значение, Цепочка, ФиксироватьОшибку = Истина)
|
Функция НормализованныйПутьКСвойству(Знач Значение, Цепочка, ФиксироватьОшибку = Истина)
|
||||||
|
|
||||||
Если ТипЗнч(Цепочка) = Тип("Строка") Тогда
|
ПутьКСвойству = Новый Массив();
|
||||||
|
|
||||||
|
ТипПути = ТипЗнч(Цепочка);
|
||||||
|
|
||||||
|
Если ТипПути = Тип("Строка") Тогда
|
||||||
|
|
||||||
Части = СтрРазделить(Цепочка, ".");
|
Части = СтрРазделить(Цепочка, ".");
|
||||||
|
|
||||||
@ -900,10 +949,57 @@
|
|||||||
|
|
||||||
ПройденныйПуть.Добавить(Часть);
|
ПройденныйПуть.Добавить(Часть);
|
||||||
|
|
||||||
|
ПозицияИндекса = СтрНайти(Часть, "[");
|
||||||
|
|
||||||
|
Если ПозицияИндекса > 0 И ПозицияИндекса > 0 И СтрЗаканчиваетсяНа(Часть, "]") Тогда
|
||||||
|
|
||||||
|
Если ПозицияИндекса > 1 Тогда
|
||||||
|
ПутьКСвойству.Добавить(Лев(Часть, ПозицияИндекса - 1));
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Пока ПозицияИндекса > 0 Цикл
|
||||||
|
|
||||||
|
ЗакрывающаяПозиция = СтрНайти(Часть, "]", , ПозицияИндекса);
|
||||||
|
ИндексСтрокой = Сред(Часть, ПозицияИндекса + 1, ЗакрывающаяПозиция - ПозицияИндекса - 1);
|
||||||
|
Индекс = Число(ИндексСтрокой);
|
||||||
|
ПутьКСвойству.Добавить(Индекс);
|
||||||
|
|
||||||
|
ПозицияИндекса = СтрНайти(Часть, "[", , ЗакрывающаяПозиция);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ПутьКСвойству.Добавить(Часть);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ИначеЕсли ТипПути = Тип("Соответствие") Тогда
|
||||||
|
|
||||||
|
ПутьКСвойству.Добавить(Цепочка);
|
||||||
|
|
||||||
|
ИначеЕсли ТипПути = Тип("Число") Тогда
|
||||||
|
|
||||||
|
ПутьКСвойству.Добавить(Цепочка);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПройденныйПуть = Новый Массив();
|
||||||
|
|
||||||
|
Для Каждого Часть Из ПутьКСвойству Цикл
|
||||||
|
|
||||||
|
ПройденныйПуть.Добавить(Часть);
|
||||||
|
|
||||||
|
Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда
|
||||||
|
Значение = Значение.Получить();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
ЕстьСвойство = ЗначениеИмеетСвойство(Значение, Часть);
|
ЕстьСвойство = ЗначениеИмеетСвойство(Значение, Часть);
|
||||||
Исключение
|
Исключение
|
||||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке());
|
ЕстьСвойство = Ложь;
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
Если ЕстьСвойство Тогда
|
Если ЕстьСвойство Тогда
|
||||||
@ -912,20 +1008,12 @@
|
|||||||
ПутьСвойства = СтрСоединить(ПройденныйПуть, ".");
|
ПутьСвойства = СтрСоединить(ПройденныйПуть, ".");
|
||||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("содержит свойство `%1`", ПутьСвойства), Значение, Цепочка);
|
ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("содержит свойство `%1`", ПутьСвойства), Значение, Цепочка);
|
||||||
Иначе
|
Иначе
|
||||||
Возврат Ложь;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Иначе
|
Возврат ПутьКСвойству;
|
||||||
|
|
||||||
Попытка
|
|
||||||
Возврат ЗначениеИмеетСвойство(Значение, Цепочка); // Для соответствий
|
|
||||||
Исключение
|
|
||||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке());
|
|
||||||
КонецПопытки;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -949,6 +1037,13 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
ИначеЕсли ТипЗнч(Свойство) = Тип("Число") Тогда
|
||||||
|
|
||||||
|
Если Свойство < 0 Тогда
|
||||||
|
Свойство = Значение.Количество() + Свойство;
|
||||||
|
КонецЕсли;
|
||||||
|
Результат = Свойство >= 0 И Значение.Количество() > Свойство;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Результат = ЮТОбщий.ПеременнаяСодержитСвойство(Значение, Свойство);
|
Результат = ЮТОбщий.ПеременнаяСодержитСвойство(Значение, Свойство);
|
||||||
@ -971,7 +1066,7 @@
|
|||||||
ИначеЕсли ЭтоТипМассива(ТипПроверяемогоЗначения) Тогда
|
ИначеЕсли ЭтоТипМассива(ТипПроверяемогоЗначения) Тогда
|
||||||
|
|
||||||
Индекс = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение);
|
Индекс = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение);
|
||||||
ИскомоеЗначениеНайдено = Индекс <> Неопределено И ТипЗнч(ПроверяемоеЗначение[Индекс]) = ТипЗнч(ОжидаемоеЗначение);
|
ИскомоеЗначениеНайдено = Индекс <> Неопределено;
|
||||||
|
|
||||||
ИначеЕсли ЭтоТипКлючЗначение(ТипПроверяемогоЗначения) Тогда
|
ИначеЕсли ЭтоТипКлючЗначение(ТипПроверяемогоЗначения) Тогда
|
||||||
|
|
||||||
@ -1152,7 +1247,7 @@
|
|||||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке());
|
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке());
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
ОбработатьРезультатУтверждения(Результат, "является заполненным", Реверс, ПроверяемоеЗначение);
|
ОбработатьРезультатСравнения(Результат, "является заполненным", Реверс, ПроверяемоеЗначение, Неопределено);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@ -1164,7 +1259,7 @@
|
|||||||
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке());
|
ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке());
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
ОбработатьРезультатУтверждения(Результат, "существует", Реверс, ПроверяемоеЗначение);
|
ОбработатьРезультатСравнения(Результат, "существует", Реверс, ПроверяемоеЗначение, Неопределено);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
@ -112,6 +112,7 @@
|
|||||||
// * МалоПараметров - Строка
|
// * МалоПараметров - Строка
|
||||||
// * МногоПараметров - Строка
|
// * МногоПараметров - Строка
|
||||||
// * НекорректныйКонтекстИсполнения - Строка
|
// * НекорректныйКонтекстИсполнения - Строка
|
||||||
|
// * Пропущен - Строка
|
||||||
Функция ТипыОшибок() Экспорт
|
Функция ТипыОшибок() Экспорт
|
||||||
|
|
||||||
Типы = Новый Структура;
|
Типы = Новый Структура;
|
||||||
@ -141,11 +142,23 @@
|
|||||||
|| ЧтенияТестов | Загрузки тестов | Сломан |
|
|| ЧтенияТестов | Загрузки тестов | Сломан |
|
||||||
|| МалоПараметров | Мало фактических параметров | Сломан |
|
|| МалоПараметров | Мало фактических параметров | Сломан |
|
||||||
|| МногоПараметров | Много фактических параметров | Сломан |
|
|| МногоПараметров | Много фактических параметров | Сломан |
|
||||||
|| НекорректныйКонтекстИсполнения | Некорректный контекст исполнения | Сломан |
|
|| НекорректныйКонтекстИсполнения | Некорректный контекст исполнения | Пропущен |
|
||||||
|
|| Пропущен | Пропущен | Пропущен |
|
||||||
|");
|
|");
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция УровниИсполнения() Экспорт
|
||||||
|
|
||||||
|
Уровни = Новый Структура;
|
||||||
|
Уровни.Вставить("Модуль", "Модуль");
|
||||||
|
Уровни.Вставить("НаборТестов", "НаборТестов");
|
||||||
|
Уровни.Вставить("Тест", "Тест");
|
||||||
|
|
||||||
|
Возврат Новый ФиксированнаяСтруктура(Уровни);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СтруктурыДанных
|
#Область СтруктурыДанных
|
||||||
@ -207,7 +220,7 @@
|
|||||||
// Параметры:
|
// Параметры:
|
||||||
// Имя - Строка - Имя тестового метода
|
// Имя - Строка - Имя тестового метода
|
||||||
// Представление - Строка - Представление, краткое описание теста
|
// Представление - Строка - Представление, краткое описание теста
|
||||||
// КонтекстыВызова - Строка - Контексты исполнения теста, см. КонтекстВызова
|
// КонтекстыВызова - Массив из Строка - Контексты исполнения теста
|
||||||
// ТегиСтрокой - Строка - Теги теста
|
// ТегиСтрокой - Строка - Теги теста
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
@ -217,11 +230,8 @@
|
|||||||
// * Теги - Массив из Строка - Теги теста
|
// * Теги - Массив из Строка - Теги теста
|
||||||
// * КонтекстВызова - Массив из Строка - Контексты исполнения теста
|
// * КонтекстВызова - Массив из Строка - Контексты исполнения теста
|
||||||
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
||||||
Функция ОписаниеТеста(Имя, Знач Представление, КонтекстыВызова, Знач ТегиСтрокой = "") Экспорт
|
// * Параметры - Неопределено, Массив из Произвольный - Параметры теста
|
||||||
|
Функция ОписаниеТеста(Имя, Представление, КонтекстыВызова, Знач ТегиСтрокой = "") Экспорт
|
||||||
Если НЕ ЗначениеЗаполнено(Представление) Тогда
|
|
||||||
Представление = Имя;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ТегиСтрокой = Неопределено Тогда
|
Если ТегиСтрокой = Неопределено Тогда
|
||||||
ТегиСтрокой = "";
|
ТегиСтрокой = "";
|
||||||
@ -231,8 +241,9 @@
|
|||||||
Описание.Вставить("Имя", Строка(Имя));
|
Описание.Вставить("Имя", Строка(Имя));
|
||||||
Описание.Вставить("Представление", Строка(Представление));
|
Описание.Вставить("Представление", Строка(Представление));
|
||||||
Описание.Вставить("Теги", СтрРазделить(ТегиСтрокой, ", ", Ложь));
|
Описание.Вставить("Теги", СтрРазделить(ТегиСтрокой, ", ", Ложь));
|
||||||
Описание.Вставить("КонтекстВызова", СтрРазделить(КонтекстыВызова, ", ", Ложь));
|
Описание.Вставить("КонтекстВызова", КонтекстыВызова);
|
||||||
Описание.Вставить("НастройкиВыполнения", Новый Структура());
|
Описание.Вставить("НастройкиВыполнения", Новый Структура());
|
||||||
|
Описание.Вставить("Параметры", Неопределено);
|
||||||
|
|
||||||
Возврат Описание;
|
Возврат Описание;
|
||||||
|
|
||||||
@ -242,18 +253,18 @@
|
|||||||
// Возвращает описание исполняемого тестового набора.
|
// Возвращает описание исполняемого тестового набора.
|
||||||
// Содержит данные необходимые для выполнения прогона тестов
|
// Содержит данные необходимые для выполнения прогона тестов
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// НаборТестов - Массив - Коллекция зарегистрированных тестовых наборов, см. ОписаниеТестовогоНабора
|
// НаборТестов - Массив из см. ОписаниеТеста - Коллекция зарегистрированных тестовых наборов, см. ОписаниеТестовогоНабора
|
||||||
// ТестовыйМодуль - Структура - Описание тестового модуля, см. ЮТФабрика.ОписаниеМодуля
|
// ТестовыйМодуль - Структура - Описание тестового модуля, см. ЮТФабрика.ОписаниеМодуля
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Описание исполняемого набора тестов:
|
// Структура - Описание исполняемого набора тестов:
|
||||||
// * Имя - Строка - Имя набора
|
// * Имя - Строка - Имя набора
|
||||||
// * Представление - Строка - Представление набора
|
// * Представление - Строка - Представление набора
|
||||||
// * Теги - Массив - Тэги набора
|
// * Теги - Массив из Строка - Тэги набора
|
||||||
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста
|
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста
|
||||||
// * Режим - Строка - Режим исполнения набора, см. КонтекстыВызова
|
// * Режим - Строка - Режим исполнения набора, см. КонтекстыВызова
|
||||||
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||||
// * Тесты - Массив - Тесты набора, структуру тестов см. ОписаниеИсполняемогоТеста
|
// * Тесты - Массив из см. ОписаниеИсполняемогоТеста - Тесты набора, структуру тестов см. ОписаниеИсполняемогоТеста
|
||||||
// * Выполнять - Булево - Признак, что можно выполнить прогон набора (нет ошибок блокирующих запуск)
|
// * Выполнять - Булево - Признак, что можно выполнить прогон набора (нет ошибок блокирующих запуск)
|
||||||
// * ДатаСтарта - Число - Дата запуска набора
|
// * ДатаСтарта - Число - Дата запуска набора
|
||||||
// * Длительность - Число - Продолжительность выполнения набора
|
// * Длительность - Число - Продолжительность выполнения набора
|
||||||
@ -265,7 +276,7 @@
|
|||||||
Описание.Вставить("Имя", НаборТестов.Имя);
|
Описание.Вставить("Имя", НаборТестов.Имя);
|
||||||
Описание.Вставить("Представление", НаборТестов.Представление);
|
Описание.Вставить("Представление", НаборТестов.Представление);
|
||||||
Описание.Вставить("Теги", НаборТестов.Теги);
|
Описание.Вставить("Теги", НаборТестов.Теги);
|
||||||
Описание.Вставить("Ошибки", НаборТестов.Ошибки);
|
Описание.Вставить("Ошибки", ЮТОбщий.СкопироватьМассив(НаборТестов.Ошибки));
|
||||||
Описание.Вставить("Режим", "");
|
Описание.Вставить("Режим", "");
|
||||||
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
|
Описание.Вставить("МетаданныеМодуля", ТестовыйМодуль.МетаданныеМодуля);
|
||||||
Описание.Вставить("Тесты", Новый Массив);
|
Описание.Вставить("Тесты", Новый Массив);
|
||||||
@ -303,8 +314,17 @@
|
|||||||
|
|
||||||
ПолноеИмяМетода = СтрШаблон("%1.%2", ТестовыйМодуль.МетаданныеМодуля.Имя, Тест.Имя);
|
ПолноеИмяМетода = СтрШаблон("%1.%2", ТестовыйМодуль.МетаданныеМодуля.Имя, Тест.Имя);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Тест.Представление) Тогда
|
||||||
|
Представление = Тест.Представление;
|
||||||
|
ИначеЕсли ЗначениеЗаполнено(Тест.Параметры) Тогда
|
||||||
|
ПредставлениеПараметров = СтрСоединить(Тест.Параметры, ", ");
|
||||||
|
Представление = СтрШаблон("%1(%2)", Тест.Имя, ПредставлениеПараметров);
|
||||||
|
Иначе
|
||||||
|
Представление = Тест.Имя;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ОписаниеТеста = Новый Структура;
|
ОписаниеТеста = Новый Структура;
|
||||||
ОписаниеТеста.Вставить("Имя", Тест.Представление);
|
ОписаниеТеста.Вставить("Имя", Представление);
|
||||||
ОписаниеТеста.Вставить("Метод", Тест.Имя);
|
ОписаниеТеста.Вставить("Метод", Тест.Имя);
|
||||||
ОписаниеТеста.Вставить("ПолноеИмяМетода", ПолноеИмяМетода);
|
ОписаниеТеста.Вставить("ПолноеИмяМетода", ПолноеИмяМетода);
|
||||||
ОписаниеТеста.Вставить("Теги", Тест.Теги);
|
ОписаниеТеста.Вставить("Теги", Тест.Теги);
|
||||||
@ -314,6 +334,7 @@
|
|||||||
ОписаниеТеста.Вставить("Статус", СтатусыИсполненияТеста().Ожидание);
|
ОписаниеТеста.Вставить("Статус", СтатусыИсполненияТеста().Ожидание);
|
||||||
ОписаниеТеста.Вставить("Ошибки", Новый Массив);
|
ОписаниеТеста.Вставить("Ошибки", Новый Массив);
|
||||||
ОписаниеТеста.Вставить("НастройкиВыполнения", Тест.НастройкиВыполнения);
|
ОписаниеТеста.Вставить("НастройкиВыполнения", Тест.НастройкиВыполнения);
|
||||||
|
ОписаниеТеста.Вставить("Параметры", Тест.Параметры);
|
||||||
|
|
||||||
Возврат ОписаниеТеста;
|
Возврат ОписаниеТеста;
|
||||||
|
|
||||||
@ -328,6 +349,7 @@
|
|||||||
// * ВыполнятьМодульноеТестирование - Булево - Признак необходимости выполнения тестов
|
// * ВыполнятьМодульноеТестирование - Булево - Признак необходимости выполнения тестов
|
||||||
// * reportPath - Строка - Файл или каталог сохранения отчета о тестировании
|
// * reportPath - Строка - Файл или каталог сохранения отчета о тестировании
|
||||||
// * filter - Структура - Параметры отбора запускаемых тестов, см. ПараметрыФильтрации
|
// * filter - Структура - Параметры отбора запускаемых тестов, см. ПараметрыФильтрации
|
||||||
|
// * settings - см. НастройкиВыполнения
|
||||||
// * closeAfterTests - Булево - Признак необходимости закрытия приложения по окончании прогона
|
// * closeAfterTests - Булево - Признак необходимости закрытия приложения по окончании прогона
|
||||||
// * reportFormat - Строка - Формат отчета о тестировании.
|
// * reportFormat - Строка - Формат отчета о тестировании.
|
||||||
// Модули реализующие различные форматы отчетов собраны в подсистеме ЮТФормированиеОтчета
|
// Модули реализующие различные форматы отчетов собраны в подсистеме ЮТФормированиеОтчета
|
||||||
@ -340,6 +362,7 @@
|
|||||||
Параметры.Вставить("reportPath", "");
|
Параметры.Вставить("reportPath", "");
|
||||||
Параметры.Вставить("closeAfterTests", Истина);
|
Параметры.Вставить("closeAfterTests", Истина);
|
||||||
Параметры.Вставить("filter", ПараметрыФильтрации());
|
Параметры.Вставить("filter", ПараметрыФильтрации());
|
||||||
|
Параметры.Вставить("settings", НастройкиВыполнения());
|
||||||
Параметры.Вставить("reportFormat", "jUnit");
|
Параметры.Вставить("reportFormat", "jUnit");
|
||||||
|
|
||||||
Возврат Параметры;
|
Возврат Параметры;
|
||||||
@ -390,19 +413,26 @@
|
|||||||
|
|
||||||
// ОписаниеВозникшейОшибки
|
// ОписаниеВозникшейОшибки
|
||||||
// Возвращает базовую структуру ошибки
|
// Возвращает базовую структуру ошибки
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Сообщение - Строка
|
||||||
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Описание возникшей ошибки:
|
// Структура - Описание возникшей ошибки:
|
||||||
// * Сообщение - Строка - Описание возникшей ошибки
|
// * Сообщение - Строка - Описание возникшей ошибки
|
||||||
// * Стек - Строка - Стек возникшей ошибки
|
// * Стек - Строка - Стек возникшей ошибки
|
||||||
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок
|
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок
|
||||||
Функция ОписаниеВозникшейОшибки() Экспорт
|
Функция ОписаниеВозникшейОшибки(Сообщение) Экспорт
|
||||||
|
|
||||||
Возврат Новый Структура("Сообщение, Стек, ТипОшибки", "");
|
Возврат Новый Структура("Сообщение, Стек, ТипОшибки", Сообщение);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// ОписаниеОшибкиСравнения
|
|
||||||
// Возвращает базовую структуру ошибки проверки факта и ожидания
|
// Возвращает базовую структуру ошибки проверки факта и ожидания
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Сообщение - Строка
|
||||||
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Описание возникшей ошибки:
|
// Структура - Описание возникшей ошибки:
|
||||||
// * Сообщение - Строка - Описание возникшей ошибки
|
// * Сообщение - Строка - Описание возникшей ошибки
|
||||||
@ -410,9 +440,9 @@
|
|||||||
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок
|
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок
|
||||||
// * ПроверяемоеЗначение - Произвольный - Проверяемое, фактическое значение
|
// * ПроверяемоеЗначение - Произвольный - Проверяемое, фактическое значение
|
||||||
// * ОжидаемоеЗначение - Произвольный - Ожидаемое значение
|
// * ОжидаемоеЗначение - Произвольный - Ожидаемое значение
|
||||||
Функция ОписаниеОшибкиСравнения() Экспорт
|
Функция ОписаниеОшибкиСравнения(Сообщение) Экспорт
|
||||||
|
|
||||||
Описание = ОписаниеВозникшейОшибки();
|
Описание = ОписаниеВозникшейОшибки(Сообщение);
|
||||||
Описание.ТипОшибки = ТипыОшибок().Утверждений;
|
Описание.ТипОшибки = ТипыОшибок().Утверждений;
|
||||||
Описание.Вставить("ПроверяемоеЗначение");
|
Описание.Вставить("ПроверяемоеЗначение");
|
||||||
Описание.Вставить("ОжидаемоеЗначение");
|
Описание.Вставить("ОжидаемоеЗначение");
|
||||||
@ -421,6 +451,26 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает базовую структуру ошибки пропуска теста
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Сообщение - Строка
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура -- Описание возникшей ошибки::
|
||||||
|
// * Сообщение - Строка - Описание возникшей ошибки
|
||||||
|
// * Стек - Строка - Стек возникшей ошибки
|
||||||
|
// * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения
|
||||||
|
// См. ЮТФабрика.ТипыОшибок
|
||||||
|
Функция ОписаниеОшибкиПропуска(Сообщение) Экспорт
|
||||||
|
|
||||||
|
Описание = ОписаниеВозникшейОшибки(Сообщение);
|
||||||
|
Описание.ТипОшибки = ТипыОшибок().Пропущен;
|
||||||
|
|
||||||
|
Возврат Описание;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Описание события исполнения тестов.
|
// Описание события исполнения тестов.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@ -546,9 +596,9 @@
|
|||||||
// * suites - Неопределено, Массив из Строка - Список тестовых наборов
|
// * suites - Неопределено, Массив из Строка - Список тестовых наборов
|
||||||
// * paths - Неопределено, Массив из Строка - Список путей до тестовых методов, путь может быть не полным.
|
// * paths - Неопределено, Массив из Строка - Список путей до тестовых методов, путь может быть не полным.
|
||||||
// Например:
|
// Например:
|
||||||
// - tests - Ищем тесты в расширении tests
|
// + tests - Ищем тесты в расширении tests
|
||||||
// - tests.ОМ_ОбщегоНазначения - Ищем тесты в модуле ОМ_ОбщегоНазначения расширения tests
|
// + tests.ОМ_ОбщегоНазначения - Ищем тесты в модуле ОМ_ОбщегоНазначения расширения tests
|
||||||
// - tests.ОМ_ОбщегоНазначения.ПолучитьЗначениеРеквизита - указание конкретного теста
|
// + tests.ОМ_ОбщегоНазначения.ПолучитьЗначениеРеквизита - указание конкретного теста
|
||||||
// * tags - Неопределено, Массив из Строка - Список тэгов
|
// * tags - Неопределено, Массив из Строка - Список тэгов
|
||||||
// * contexts - Неопределено, Массив из Строка - Список тестируемых контекстов
|
// * contexts - Неопределено, Массив из Строка - Список тестируемых контекстов
|
||||||
// * tests - Неопределено, Массив из Строка - Список полных имен тестовых методов. ИмяМодуля.ИмяМетода{.Контекст}
|
// * tests - Неопределено, Массив из Строка - Список полных имен тестовых методов. ИмяМодуля.ИмяМетода{.Контекст}
|
||||||
@ -567,4 +617,16 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НастройкиВыполнения()
|
||||||
|
|
||||||
|
ПараметрыИсполнения = ПараметрыИсполненияТеста();
|
||||||
|
|
||||||
|
Настройки = Новый Структура();
|
||||||
|
|
||||||
|
Настройки.Вставить(ПараметрыИсполнения.ВТранзакции, Ложь);
|
||||||
|
|
||||||
|
Возврат Настройки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -242,7 +242,7 @@
|
|||||||
Фильтр.Вставить("ЕстьФильтрТестов", Фильтр.Тесты.Количество());
|
Фильтр.Вставить("ЕстьФильтрТестов", Фильтр.Тесты.Количество());
|
||||||
Фильтр.Вставить("ЕстьФильтрКонтекстов", ЗначениеЗаполнено(Фильтр.Контексты));
|
Фильтр.Вставить("ЕстьФильтрКонтекстов", ЗначениеЗаполнено(Фильтр.Контексты));
|
||||||
|
|
||||||
ЮТКонтекст.УстановитьКонтекстЧитателя(Новый Структура("Фильтр", Фильтр), Истина);
|
ЮТКонтекст.УстановитьКонтекстЧитателя(Новый Структура("Фильтр", Фильтр));
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
@ -63,11 +63,10 @@
|
|||||||
// ПрочитатьНаборТестов
|
// ПрочитатьНаборТестов
|
||||||
// Читает набор тестов из модуля
|
// Читает набор тестов из модуля
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// МетаданныеМодуля - См. ЮТФабрика.ОписаниеМодуля
|
// ОписаниеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||||
// СтроковыйРежим - Строка - Строковый режим (контекст) исполнения теста
|
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Неопределено, Структура - Если прочитано, то будет возвращено описание набора. См. ОписаниеНабораТестов
|
// Неопределено, Массив из см. ЮТФабрика.ОписаниеТестовогоНабора- Если прочитано, то будет возвращено описание наборов
|
||||||
Функция ИсполняемыеСценарииМодуля(ОписаниеМодуля) Экспорт
|
Функция ИсполняемыеСценарииМодуля(ОписаниеМодуля) Экспорт
|
||||||
|
|
||||||
ЭтоТестовыйМодуль = Истина;
|
ЭтоТестовыйМодуль = Истина;
|
||||||
@ -91,8 +90,6 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Данные = ЮТТесты.СценарииМодуля();
|
|
||||||
|
|
||||||
Если Ошибка <> Неопределено Тогда
|
Если Ошибка <> Неопределено Тогда
|
||||||
|
|
||||||
Данные = Новый Массив(); // Фиксируем, чтобы отобразить в отчете
|
Данные = Новый Массив(); // Фиксируем, чтобы отобразить в отчете
|
||||||
@ -103,10 +100,10 @@
|
|||||||
|
|
||||||
ИначеЕсли ЭтоТестовыйМодуль Тогда
|
ИначеЕсли ЭтоТестовыйМодуль Тогда
|
||||||
|
|
||||||
|
ЮТТесты.ПослеЧтенияСценариевМодуля();
|
||||||
Сценарии = ЮТТесты.СценарииМодуля();
|
Сценарии = ЮТТесты.СценарииМодуля();
|
||||||
Данные = ЮТОбщий.ВыгрузитьЗначения(Сценарии.ТестовыеНаборы, "Значение");
|
|
||||||
|
|
||||||
Данные = ЮТФильтрация.ОтфильтроватьТестовыеНаборы(Данные, ОписаниеМодуля);
|
Данные = ЮТФильтрация.ОтфильтроватьТестовыеНаборы(Сценарии.ТестовыеНаборы, ОписаниеМодуля);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
|
122
exts/yaxunit/src/CommonModules/ЮТест/Module.bsl
Normal file
122
exts/yaxunit/src/CommonModules/ЮТест/Module.bsl
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
//
|
||||||
|
// Copyright 2021-2022 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.
|
||||||
|
//
|
||||||
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Основной модуль для запуска тестирования
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
// Возвращает API формирования утверждения для проверки теста
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПроверяемоеЗначение - Произвольный - Проверяемое фактическое значение
|
||||||
|
// Сообщение - Строка - Описание проверки, которое будет выведено при возникновении ошибки
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Утверждения
|
||||||
|
Функция ОжидаетЧто(ПроверяемоеЗначение, Сообщение = "") Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТУтверждения.Что(ПроверяемоеЗначение, Сообщение);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Пропустить выполнение теста
|
||||||
|
// Используется если тест выполняется в неподходящих условиях и не нужно его выполнять, но отразить в отчете требуется
|
||||||
|
// Параметры:
|
||||||
|
// Сообщение - Неопределено - Сообщение
|
||||||
|
Процедура Пропустить(Сообщение = Неопределено) Экспорт
|
||||||
|
|
||||||
|
ЮТРегистрацияОшибок.Пропустить(Сообщение);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Возвращает API для работы с тестовыми данными
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Данные
|
||||||
|
Функция Данные() Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТТестовыеДанные;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Конструктор вариантов прогона теста
|
||||||
|
// Используется для формирования набора различных параметров выполнения
|
||||||
|
// Параметры:
|
||||||
|
// Реквизиты - Строка - Список реквизитов варианта разделенных запятой
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Варианты
|
||||||
|
Функция Варианты(Реквизиты) Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТКонструкторВариантов.Варианты(Реквизиты);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция Контекст() Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТКонтекстТеста;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// КонтекстТеста
|
||||||
|
// Возвращает структуру, в которой можно хранить данные используемые в тесте
|
||||||
|
// Данные живут в рамках одного теста, но доступны в обработчиках событий `ПередКаждымТестом` и `ПослеКаждогоТеста`
|
||||||
|
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеКаждогоТеста`
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Контекст теста
|
||||||
|
// Неопределено - Если метод вызывается за рамками теста
|
||||||
|
Функция КонтекстТеста() Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТКонтекст.КонтекстТеста();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// КонтекстНабора
|
||||||
|
// Возвращает структуру, в которой можно хранить данные используемые в тестах набора
|
||||||
|
// Данные живут в рамках одного набора тестов (данные между клиентом и сервером не синхронизируются)
|
||||||
|
// Доступны в каждом тесте набора и в обработчиках событий
|
||||||
|
// + `ПередТестовымНабором`
|
||||||
|
// + `ПослеТестовогоНабора`
|
||||||
|
// + `ПередКаждымТестом`
|
||||||
|
// + `ПослеКаждогоТеста`
|
||||||
|
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеКаждогоТеста`
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Контекст набора тестов
|
||||||
|
// Неопределено - Если метод вызывается за рамками тестового набора
|
||||||
|
Функция КонтекстТестовогоНабора() Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТКонтекст.КонтекстНабора();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// КонтекстМодуля
|
||||||
|
// Возвращает структуру, в которой можно хранить данные используемые в тестах модуля
|
||||||
|
// Данные живут в рамках одного тестового модуля (данные между клиентом и сервером не синхронизируются)
|
||||||
|
// Доступны в каждом тесте модуля и в обработчиках событий
|
||||||
|
// Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеВсехТестов`
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Контекст тестового модуля
|
||||||
|
// Неопределено - Если метод вызывается за рамками тестового модуля
|
||||||
|
Функция КонтекстМодуля() Экспорт
|
||||||
|
|
||||||
|
Возврат ЮТКонтекст.КонтекстМодуля();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
@ -1,10 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="34241a49-2c1e-41ac-b97b-f22be47c83e8">
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="00657e40-f22c-4638-ae35-a322d57470cc">
|
||||||
<name>ЮТ</name>
|
<name>ЮТест</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>ЮТ</value>
|
<value>Тест</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
<clientManagedApplication>true</clientManagedApplication>
|
<clientManagedApplication>true</clientManagedApplication>
|
||||||
|
<server>true</server>
|
||||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
</mdclass:CommonModule>
|
</mdclass:CommonModule>
|
@ -37,18 +37,20 @@
|
|||||||
<commonModules>CommonModule.МокитоСлужебный</commonModules>
|
<commonModules>CommonModule.МокитоСлужебный</commonModules>
|
||||||
<commonModules>CommonModule.ОМ_Мокито</commonModules>
|
<commonModules>CommonModule.ОМ_Мокито</commonModules>
|
||||||
<commonModules>CommonModule.ОМ_МокитоОбучение</commonModules>
|
<commonModules>CommonModule.ОМ_МокитоОбучение</commonModules>
|
||||||
|
<commonModules>CommonModule.ОМ_ЮТест</commonModules>
|
||||||
<commonModules>CommonModule.ОМ_ЮТИсполнитель</commonModules>
|
<commonModules>CommonModule.ОМ_ЮТИсполнитель</commonModules>
|
||||||
<commonModules>CommonModule.ОМ_ЮТУтверждения</commonModules>
|
<commonModules>CommonModule.ОМ_ЮТУтверждения</commonModules>
|
||||||
<commonModules>CommonModule.ОМ_ЮТФильтрация</commonModules>
|
<commonModules>CommonModule.ОМ_ЮТФильтрация</commonModules>
|
||||||
<commonModules>CommonModule.ОМ_ЮТЧитатель</commonModules>
|
<commonModules>CommonModule.ОМ_ЮТЧитатель</commonModules>
|
||||||
<commonModules>CommonModule.РаботаСHTTP</commonModules>
|
<commonModules>CommonModule.РаботаСHTTP</commonModules>
|
||||||
<commonModules>CommonModule.ЮТ</commonModules>
|
<commonModules>CommonModule.ЮТест</commonModules>
|
||||||
<commonModules>CommonModule.ЮТИсполнитель</commonModules>
|
<commonModules>CommonModule.ЮТИсполнитель</commonModules>
|
||||||
<commonModules>CommonModule.ЮТИсполнительСервер</commonModules>
|
<commonModules>CommonModule.ЮТИсполнительСервер</commonModules>
|
||||||
<commonModules>CommonModule.ЮТКонструкторВариантов</commonModules>
|
<commonModules>CommonModule.ЮТКонструкторВариантов</commonModules>
|
||||||
<commonModules>CommonModule.ЮТКонтекст</commonModules>
|
<commonModules>CommonModule.ЮТКонтекст</commonModules>
|
||||||
<commonModules>CommonModule.ЮТКонтекстКлиент</commonModules>
|
<commonModules>CommonModule.ЮТКонтекстКлиент</commonModules>
|
||||||
<commonModules>CommonModule.ЮТКонтекстСервер</commonModules>
|
<commonModules>CommonModule.ЮТКонтекстСервер</commonModules>
|
||||||
|
<commonModules>CommonModule.ЮТКонтекстТеста</commonModules>
|
||||||
<commonModules>CommonModule.ЮТМетаданныеСервер</commonModules>
|
<commonModules>CommonModule.ЮТМетаданныеСервер</commonModules>
|
||||||
<commonModules>CommonModule.ЮТОбщий</commonModules>
|
<commonModules>CommonModule.ЮТОбщий</commonModules>
|
||||||
<commonModules>CommonModule.ЮТОбщийВызовСервера</commonModules>
|
<commonModules>CommonModule.ЮТОбщийВызовСервера</commonModules>
|
||||||
@ -56,7 +58,6 @@
|
|||||||
<commonModules>CommonModule.ЮТОтчетJSON</commonModules>
|
<commonModules>CommonModule.ЮТОтчетJSON</commonModules>
|
||||||
<commonModules>CommonModule.ЮТОтчетJUnit</commonModules>
|
<commonModules>CommonModule.ЮТОтчетJUnit</commonModules>
|
||||||
<commonModules>CommonModule.ЮТПараметры</commonModules>
|
<commonModules>CommonModule.ЮТПараметры</commonModules>
|
||||||
<commonModules>CommonModule.ЮТПараметрыСервер</commonModules>
|
|
||||||
<commonModules>CommonModule.ЮТПовторногоИспользования</commonModules>
|
<commonModules>CommonModule.ЮТПовторногоИспользования</commonModules>
|
||||||
<commonModules>CommonModule.ЮТРасширения</commonModules>
|
<commonModules>CommonModule.ЮТРасширения</commonModules>
|
||||||
<commonModules>CommonModule.ЮТРегистрацияОшибок</commonModules>
|
<commonModules>CommonModule.ЮТРегистрацияОшибок</commonModules>
|
||||||
|
@ -16,8 +16,12 @@
|
|||||||
//
|
//
|
||||||
//©///////////////////////////////////////////////////////////////////////////©//
|
//©///////////////////////////////////////////////////////////////////////////©//
|
||||||
|
|
||||||
|
#Область ОписаниеПеременных
|
||||||
|
|
||||||
Перем ЮТДанныеКонтекста Экспорт;
|
Перем ЮТДанныеКонтекста Экспорт;
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// Обработчики событий модуля
|
// Обработчики событий модуля
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -31,7 +35,7 @@
|
|||||||
&После("ПриНачалеРаботыСистемы")
|
&После("ПриНачалеРаботыСистемы")
|
||||||
Процедура ЮТПриНачалеРаботыСистемы()
|
Процедура ЮТПриНачалеРаботыСистемы()
|
||||||
|
|
||||||
ЮТ.ВыполнитьМодульноеТестирование();
|
ЮТИсполнитель.ВыполнитьМодульноеТестирование();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
<content>CommonModule.МокитоОбучение</content>
|
<content>CommonModule.МокитоОбучение</content>
|
||||||
<content>CommonModule.МокитоПроверки</content>
|
<content>CommonModule.МокитоПроверки</content>
|
||||||
<content>CommonModule.МокитоСлужебный</content>
|
<content>CommonModule.МокитоСлужебный</content>
|
||||||
<content>CommonModule.ЮТ</content>
|
|
||||||
<content>CommonModule.ЮТИсполнитель</content>
|
<content>CommonModule.ЮТИсполнитель</content>
|
||||||
<content>CommonModule.ЮТИсполнительСервер</content>
|
<content>CommonModule.ЮТИсполнительСервер</content>
|
||||||
<content>CommonModule.ЮТКонтекст</content>
|
<content>CommonModule.ЮТКонтекст</content>
|
||||||
@ -21,7 +20,6 @@
|
|||||||
<content>CommonModule.ЮТОтчетJSON</content>
|
<content>CommonModule.ЮТОтчетJSON</content>
|
||||||
<content>CommonModule.ЮТОтчетJUnit</content>
|
<content>CommonModule.ЮТОтчетJUnit</content>
|
||||||
<content>CommonModule.ЮТПараметры</content>
|
<content>CommonModule.ЮТПараметры</content>
|
||||||
<content>CommonModule.ЮТПараметрыСервер</content>
|
|
||||||
<content>CommonModule.ЮТПовторногоИспользования</content>
|
<content>CommonModule.ЮТПовторногоИспользования</content>
|
||||||
<content>CommonModule.ЮТРасширения</content>
|
<content>CommonModule.ЮТРасширения</content>
|
||||||
<content>CommonModule.ЮТРегистрацияОшибок</content>
|
<content>CommonModule.ЮТРегистрацияОшибок</content>
|
||||||
@ -36,4 +34,6 @@
|
|||||||
<content>CommonModule.ЮТКонструкторВариантов</content>
|
<content>CommonModule.ЮТКонструкторВариантов</content>
|
||||||
<content>CommonModule.ЮТОбщийВызовСервера</content>
|
<content>CommonModule.ЮТОбщийВызовСервера</content>
|
||||||
<content>CommonModule.ЮТТестовыеДанныеВызовСервера</content>
|
<content>CommonModule.ЮТТестовыеДанныеВызовСервера</content>
|
||||||
|
<content>CommonModule.ЮТест</content>
|
||||||
|
<content>CommonModule.ЮТКонтекстТеста</content>
|
||||||
</mdclass:Subsystem>
|
</mdclass:Subsystem>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user