mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-07 19:30:17 +02:00
Merge pull request #281 from bia-technologies/feature/276
276 / Возможность задавать разные описания и контексты для тестов с параметрами
This commit is contained in:
commit
a81b711e45
@ -377,6 +377,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Формирует текстовое представление массива.
|
||||
// Пример результата - "[1, 2, 3]"
|
||||
//
|
||||
// Параметры:
|
||||
// Данные - Массив из Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
Функция ПредставлениеМассива(Данные) Экспорт
|
||||
|
||||
Возврат СтрШаблон("[%1]", СтрСоединить(Данные, ", "));
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -28,25 +28,10 @@
|
||||
// ТегиСтрокой - Строка - Теги относящиеся к набору и вложенным тестам. Это строка разделенная запятыми
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция ДобавитьТестовыйНабор(Имя, ТегиСтрокой = "") Экспорт
|
||||
|
||||
ИсполняемыеСценарии = СценарииМодуля();
|
||||
|
||||
Если НЕ ЭтоИсполняемыеСценарии(ИсполняемыеСценарии) Тогда
|
||||
ВызватьИсключение "Первый параметр должен быть результатом метода ЮТТесты.ИсполняемыеСценарии";
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(Имя) Тогда
|
||||
ВызватьИсключение "Имя тестового набора не может быть пустым";
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Контекст();
|
||||
НовыйТестовыйНабор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
|
||||
|
||||
ИсполняемыеСценарии.ТестовыеНаборы.Добавить(НовыйТестовыйНабор);
|
||||
Контекст.ТекущийНабор = НовыйТестовыйНабор;
|
||||
Контекст.ТекущийЭлемент = НовыйТестовыйНабор;
|
||||
ЮТТестыСлужебный.ДобавитьТестовыйНабор(Имя, ТегиСтрокой);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -66,25 +51,10 @@
|
||||
// Контексты - Строка - Контексты, строка перечисления контекстов вызова, разделенных запятой.
|
||||
// Возможные значения см. ЮТФабрика.КонтекстыВызова
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "", Контексты = Неопределено) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Набор = Контекст.ТекущийНабор;
|
||||
|
||||
ЭтоИсполняемыеСценарии = ЭтоИсполняемыеСценарии(Набор);
|
||||
ЭтоТестовыйНабор = ЭтоТестовыйНабор(Набор);
|
||||
|
||||
Если НЕ (ЭтоИсполняемыеСценарии ИЛИ ЭтоТестовыйНабор) Тогда
|
||||
ВызватьИсключение "Первый параметр должен быть результатом метода ЮТТесты.ИсполняемыеСценарии или ЮТТесты.ТестовыйНабор";
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(ИмяТестовогоМетода) Тогда
|
||||
ВызватьИсключение "Имя тестового метода не может быть пустым";
|
||||
КонецЕсли;
|
||||
|
||||
Тест = ОписаниеТеста(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Контексты);
|
||||
ДобавитьТестВНабор(Контекст, Тест);
|
||||
ЮТТестыСлужебный.ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Контексты);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -98,10 +68,11 @@
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция ДобавитьКлиентскийТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||
|
||||
ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, КонтекстыВызоваКлиента());
|
||||
ЮТТестыСлужебный.ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, ЮТТестыСлужебный.КонтекстыВызоваКлиента());
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
КонецФункции
|
||||
@ -114,12 +85,11 @@
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция ДобавитьСерверныйТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||
|
||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||
|
||||
ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Режимы.Сервер);
|
||||
КонтекстыВызова = ЮТФабрика.КонтекстыВызова();
|
||||
ЮТТестыСлужебный.ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, КонтекстыВызова.Сервер);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -132,16 +102,10 @@
|
||||
// Значение - Произвольный - Значение настройки
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция НастройкаИсполнения(ИмяПараметра, Значение) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
|
||||
Если Контекст.ТекущийЭлемент = Неопределено Тогда
|
||||
ВызватьИсключение "Не инициализированы настройки регистрации тестов";
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТекущийЭлемент.НастройкиВыполнения.Вставить(ИмяПараметра, Значение);
|
||||
ЮТТестыСлужебный.НастройкаИсполнения(ИмяПараметра, Значение);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -153,10 +117,10 @@
|
||||
// ВыполнятьВТранзакции - Булево
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция ВТранзакции(ВыполнятьВТранзакции = Истина) Экспорт
|
||||
|
||||
НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции, ВыполнятьВТранзакции);
|
||||
ЮТТестыСлужебный.НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции, ВыполнятьВТранзакции);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -174,10 +138,10 @@
|
||||
// УдалятьСозданныеДанные - Булево
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция УдалениеТестовыхДанных(УдалятьСозданныеДанные = Истина) Экспорт
|
||||
|
||||
НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().УдалениеТестовыхДанных, УдалятьСозданныеДанные);
|
||||
ЮТТестыСлужебный.НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().УдалениеТестовыхДанных, УдалятьСозданныеДанные);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -189,10 +153,10 @@
|
||||
// ВыполнитьПеред - Строка - Имя обработчика события, который будет выполнен вместо основного
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция Перед(ВыполнитьПеред = "") Экспорт
|
||||
|
||||
НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().Перед, ВыполнитьПеред);
|
||||
ЮТТестыСлужебный.НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().Перед, ВыполнитьПеред);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -204,10 +168,10 @@
|
||||
// ВыполнитьПосле - Строка - Имя обработчика события, который будет выполнен вместо основного
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция После(ВыполнитьПосле = "") Экспорт
|
||||
|
||||
НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().После, ВыполнитьПосле);
|
||||
ЮТТестыСлужебный.НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().После, ВыполнитьПосле);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
@ -231,7 +195,7 @@
|
||||
// Параметр10 - Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
//
|
||||
// Примеры:
|
||||
//
|
||||
@ -263,159 +227,127 @@
|
||||
Параметр9,
|
||||
Параметр10);
|
||||
|
||||
Контекст = Контекст();
|
||||
ЮТТестыСлужебный.СПараметрами(Параметры, Неопределено);
|
||||
|
||||
Если Контекст.ТекущийЭлемент = Неопределено Тогда
|
||||
ВызватьИсключение "Не инициализированы настройки регистрации тестов";
|
||||
ИначеЕсли НЕ ЭтоОписаниеТеста(Контекст.ТекущийЭлемент) Тогда
|
||||
ВызватьИсключение "Параметры устанавливаются только для теста";
|
||||
КонецЕсли;
|
||||
Возврат ЮТТесты;
|
||||
|
||||
Если Контекст.ТекущийЭлемент.Параметры <> Неопределено Тогда
|
||||
НоваяНастройка = ЮТКоллекции.СкопироватьСтруктуру(Контекст.ТекущийЭлемент);
|
||||
ДобавитьТестВНабор(Контекст, НоваяНастройка);
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает параметры вызова теста и новый контекст исполнения (клиентский).
|
||||
//
|
||||
// * Если метод вызывается первый раз, то он устанавливает параметры теста.
|
||||
// * Если второй и последующие, то добавляет новый тест с параметрами.
|
||||
//
|
||||
// Параметры:
|
||||
// Параметр1 - Произвольный
|
||||
// Параметр2 - Произвольный
|
||||
// Параметр3 - Произвольный
|
||||
// Параметр4 - Произвольный
|
||||
// Параметр5 - Произвольный
|
||||
// Параметр6 - Произвольный
|
||||
// Параметр7 - Произвольный
|
||||
// Параметр8 - Произвольный
|
||||
// Параметр9 - Произвольный
|
||||
// Параметр10 - Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
//
|
||||
//@skip-check method-too-many-params
|
||||
Функция СПараметрамиНаКлиенте(Параметр1 = "_!%*",
|
||||
Параметр2 = "_!%*",
|
||||
Параметр3 = "_!%*",
|
||||
Параметр4 = "_!%*",
|
||||
Параметр5 = "_!%*",
|
||||
Параметр6 = "_!%*",
|
||||
Параметр7 = "_!%*",
|
||||
Параметр8 = "_!%*",
|
||||
Параметр9 = "_!%*",
|
||||
Параметр10 = "_!%*") Экспорт
|
||||
|
||||
Контекст.ТекущийЭлемент.Параметры = Параметры;
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(Параметр1,
|
||||
Параметр2,
|
||||
Параметр3,
|
||||
Параметр4,
|
||||
Параметр5,
|
||||
Параметр6,
|
||||
Параметр7,
|
||||
Параметр8,
|
||||
Параметр9,
|
||||
Параметр10);
|
||||
|
||||
ЮТТестыСлужебный.СПараметрами(Параметры, ЮТТестыСлужебный.КонтекстыВызоваКлиента());
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает параметры вызова теста и новый контекст исполнения (серверный).
|
||||
//
|
||||
// * Если метод вызывается первый раз, то он устанавливает параметры теста.
|
||||
// * Если второй и последующие, то добавляет новый тест с параметрами.
|
||||
//
|
||||
// Параметры:
|
||||
// Параметр1 - Произвольный
|
||||
// Параметр2 - Произвольный
|
||||
// Параметр3 - Произвольный
|
||||
// Параметр4 - Произвольный
|
||||
// Параметр5 - Произвольный
|
||||
// Параметр6 - Произвольный
|
||||
// Параметр7 - Произвольный
|
||||
// Параметр8 - Произвольный
|
||||
// Параметр9 - Произвольный
|
||||
// Параметр10 - Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
//
|
||||
//@skip-check method-too-many-params
|
||||
Функция СПараметрамиНаСервере(Параметр1 = "_!%*",
|
||||
Параметр2 = "_!%*",
|
||||
Параметр3 = "_!%*",
|
||||
Параметр4 = "_!%*",
|
||||
Параметр5 = "_!%*",
|
||||
Параметр6 = "_!%*",
|
||||
Параметр7 = "_!%*",
|
||||
Параметр8 = "_!%*",
|
||||
Параметр9 = "_!%*",
|
||||
Параметр10 = "_!%*") Экспорт
|
||||
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(Параметр1,
|
||||
Параметр2,
|
||||
Параметр3,
|
||||
Параметр4,
|
||||
Параметр5,
|
||||
Параметр6,
|
||||
Параметр7,
|
||||
Параметр8,
|
||||
Параметр9,
|
||||
Параметр10);
|
||||
|
||||
КонтекстыВызова = ЮТФабрика.КонтекстыВызова();
|
||||
ЮТТестыСлужебный.СПараметрами(Параметры, КонтекстыВызова.Сервер);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает представление объекта, может использоваться как для теста, так и для набора.
|
||||
//
|
||||
// Параметры:
|
||||
// Представление - Строка
|
||||
// ИспользуяИмя - Булево - Необходимо ли использовать имя объекта при формировании представления.
|
||||
// Ложь - По умолчанию, представление будет установлено по параметру.
|
||||
// Истина - Новое представление объекта = "<ИмяОбъект>. <Параметр Представление>"
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль
|
||||
Функция Представление(Представление, ИспользуяИмя = Ложь) Экспорт
|
||||
|
||||
ЮТТестыСлужебный.УстановитьПредставление(Представление, ИспользуяИмя);
|
||||
|
||||
Возврат ЮТТесты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля) Экспорт
|
||||
|
||||
ИнициализироватьКонтекст(МетаданныеМодуля);
|
||||
|
||||
ЮТСобытияСлужебный.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеЧтенияСценариевМодуля() Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
ЮТСобытияСлужебный.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Описание сценариев модуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - см. ИсполняемыеСценарии
|
||||
Функция СценарииМодуля() Экспорт
|
||||
|
||||
Возврат Контекст().ИсполняемыеСценарии;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Исполняемые сценарии.
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Исполняемые сценарии:
|
||||
// * ТестовыеНаборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора - Тестовые наборы модуля
|
||||
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
||||
Функция ИсполняемыеСценарии(МетаданныеМодуля)
|
||||
|
||||
Структура = Новый Структура;
|
||||
Структура.Вставить("ТестовыеНаборы", Новый Массив());
|
||||
Структура.Вставить("НастройкиВыполнения", Новый Структура());
|
||||
|
||||
Набор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||
Набор.НастройкиВыполнения = Структура.НастройкиВыполнения; // Общие настройки с набором по умолчанию
|
||||
Структура.ТестовыеНаборы.Добавить(Набор);
|
||||
|
||||
Возврат Структура;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонтекстыВызоваКлиента()
|
||||
|
||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||
Возврат ЮТКоллекции.ЗначениеВМассиве(Режимы.КлиентУправляемоеПриложение, Режимы.КлиентОбычноеПриложение);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонтекстыВызоваПоУмолчанию()
|
||||
|
||||
Возврат ЮТФабрикаСлужебный.КонтекстыМодуля(Контекст().МетаданныеМодуля);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеТеста(Имя, Знач Представление, ТегиСтрокой, Знач Контексты)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Контексты) Тогда
|
||||
Контексты = КонтекстыВызоваПоУмолчанию();
|
||||
ИначеЕсли ТипЗнч(Контексты) = Тип("Строка") Тогда
|
||||
Контексты = СтрРазделить(Контексты, ", ", Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЮТФабрикаСлужебный.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоИсполняемыеСценарии(ИсполняемыеСценарии)
|
||||
|
||||
Возврат ТипЗнч(ИсполняемыеСценарии) = Тип("Структура")
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(ИсполняемыеСценарии, "ТестовыеНаборы")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТестовыйНабор(ТестовыйНабор)
|
||||
|
||||
Возврат ТипЗнч(ТестовыйНабор) = Тип("Структура")
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(ТестовыйНабор, "Тесты")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОписаниеТеста(Описание)
|
||||
|
||||
Возврат ТипЗнч(Описание) = Тип("Структура")
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(Описание, "КонтекстВызова")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьТестВНабор(Контекст, Тест)
|
||||
|
||||
Контекст.ТекущийНабор.Тесты.Добавить(Тест);
|
||||
Контекст.ТекущийЭлемент = Тест;
|
||||
Тест.НомерВНаборе = Контекст.ТекущийНабор.Тесты.Количество();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область Контекст
|
||||
|
||||
Функция Контекст()
|
||||
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста("КонтекстРегистрацияТестов");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ИнициализироватьКонтекст(МетаданныеМодуля)
|
||||
|
||||
ИсполняемыеСценарии = ИсполняемыеСценарии(МетаданныеМодуля);
|
||||
Набор = ИсполняемыеСценарии.ТестовыеНаборы[0];
|
||||
|
||||
Контекст = Новый Структура();
|
||||
|
||||
Контекст.Вставить("МетаданныеМодуля", МетаданныеМодуля);
|
||||
Контекст.Вставить("ИсполняемыеСценарии", ИсполняемыеСценарии);
|
||||
Контекст.Вставить("ТекущийНабор", Набор);
|
||||
Контекст.Вставить("ТекущийЭлемент", Набор);
|
||||
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
287
exts/yaxunit/src/CommonModules/ЮТТестыСлужебный/Module.bsl
Normal file
287
exts/yaxunit/src/CommonModules/ЮТТестыСлужебный/Module.bsl
Normal file
@ -0,0 +1,287 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ДобавитьТестовыйНабор(Имя, ТегиСтрокой) Экспорт
|
||||
|
||||
ИсполняемыеСценарии = СценарииМодуля();
|
||||
|
||||
Если НЕ ЭтоИсполняемыеСценарии(ИсполняемыеСценарии) Тогда
|
||||
ВызватьИсключение "Первый параметр должен быть результатом метода ЮТТесты.ИсполняемыеСценарии";
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(Имя) Тогда
|
||||
ВызватьИсключение "Имя тестового набора не может быть пустым";
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Контекст();
|
||||
НовыйТестовыйНабор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
|
||||
|
||||
ИсполняемыеСценарии.ТестовыеНаборы.Добавить(НовыйТестовыйНабор);
|
||||
Контекст.ТекущийНабор = НовыйТестовыйНабор;
|
||||
Контекст.ТекущийЭлемент = НовыйТестовыйНабор;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Контексты) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Набор = Контекст.ТекущийНабор;
|
||||
|
||||
ЭтоИсполняемыеСценарии = ЭтоИсполняемыеСценарии(Набор);
|
||||
ЭтоТестовыйНабор = ЭтоТестовыйНабор(Набор);
|
||||
|
||||
Если НЕ (ЭтоИсполняемыеСценарии ИЛИ ЭтоТестовыйНабор) Тогда
|
||||
ВызватьИсключение "Первый параметр должен быть результатом метода ЮТТесты.ИсполняемыеСценарии или ЮТТесты.ТестовыйНабор";
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(ИмяТестовогоМетода) Тогда
|
||||
ВызватьИсключение "Имя тестового метода не может быть пустым";
|
||||
КонецЕсли;
|
||||
|
||||
Тест = ОписаниеТеста(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Контексты);
|
||||
ДобавитьТестВНабор(Контекст, Тест, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьКлиентскийТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой) Экспорт
|
||||
|
||||
ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, КонтекстыВызоваКлиента());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьСерверныйТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой) Экспорт
|
||||
|
||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||
|
||||
ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Режимы.Сервер);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НастройкаИсполнения(ИмяПараметра, Значение) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
|
||||
Если Контекст.ТекущийЭлемент = Неопределено Тогда
|
||||
ВызватьИсключение "Не инициализированы настройки регистрации тестов";
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТекущийЭлемент.НастройкиВыполнения.Вставить(ИмяПараметра, Значение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СПараметрами(Параметры, Знач НовыеКонтексты) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
|
||||
Если Контекст.ТекущийЭлемент = Неопределено Тогда
|
||||
ВызватьИсключение "Не инициализированы настройки регистрации тестов";
|
||||
ИначеЕсли НЕ ЭтоОписаниеТеста(Контекст.ТекущийЭлемент) Тогда
|
||||
ВызватьИсключение "Параметры устанавливаются только для теста";
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоПервыйВызовСПараметрами = Контекст.ТекущийЭлемент.Параметры = Неопределено;
|
||||
УстановитьНовыйКонтекст = ЗначениеЗаполнено(НовыеКонтексты);
|
||||
|
||||
Если ЭтоПервыйВызовСПараметрами Тогда
|
||||
Контекст.БазовыйТест = ЮТКоллекции.СкопироватьСтруктуру(Контекст.ТекущийЭлемент);
|
||||
КонецЕсли;
|
||||
|
||||
Если УстановитьНовыйКонтекст Тогда
|
||||
НормализованныеКонтексты = НормализованныеКонтексты(НовыеКонтексты);
|
||||
НовыеКонтексты = ЮТКоллекции.ПересечениеМассивов(Контекст.БазовыйТест.КонтекстВызова, НормализованныеКонтексты);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(НовыеКонтексты) Тогда
|
||||
ВызватьИсключение СтрШаблон("Не пересекаются контексты базового теста %1 и устанавливаемые %2",
|
||||
ЮТКоллекции.ПредставлениеМассива(Контекст.БазовыйТест.КонтекстВызова),
|
||||
ЮТКоллекции.ПредставлениеМассива(НормализованныеКонтексты));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЭтоПервыйВызовСПараметрами Тогда
|
||||
НоваяНастройка = ЮТКоллекции.СкопироватьСтруктуру(Контекст.БазовыйТест);
|
||||
ДобавитьТестВНабор(Контекст, НоваяНастройка, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТекущийЭлемент.Параметры = Параметры;
|
||||
|
||||
Если УстановитьНовыйКонтекст Тогда
|
||||
Контекст.ТекущийЭлемент.КонтекстВызова = НовыеКонтексты;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПредставление(Представление, ИспользуяИмя) Экспорт
|
||||
|
||||
ТекущийЭлемент = Контекст().ТекущийЭлемент;
|
||||
Если ИспользуяИмя Тогда
|
||||
ТекущийЭлемент.Представление = СтрШаблон("%1. %2", ТекущийЭлемент.Имя, Представление);
|
||||
Иначе
|
||||
ТекущийЭлемент.Представление = Представление;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция КонтекстыВызоваКлиента() Экспорт
|
||||
|
||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||
Возврат ЮТКоллекции.ЗначениеВМассиве(Режимы.КлиентУправляемоеПриложение, Режимы.КлиентОбычноеПриложение);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Описание сценариев модуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - см. ИсполняемыеСценарии
|
||||
Функция СценарииМодуля() Экспорт
|
||||
|
||||
Возврат Контекст().ИсполняемыеСценарии;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Контекст() Экспорт
|
||||
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста("КонтекстРегистрацияТестов");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля) Экспорт
|
||||
|
||||
ИнициализироватьКонтекст(МетаданныеМодуля);
|
||||
ЮТСобытияСлужебный.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеЧтенияСценариевМодуля() Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
ЮТСобытияСлужебный.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Исполняемые сценарии.
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Исполняемые сценарии:
|
||||
// * ТестовыеНаборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора - Тестовые наборы модуля
|
||||
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
||||
Функция ИсполняемыеСценарии(МетаданныеМодуля)
|
||||
|
||||
Структура = Новый Структура;
|
||||
Структура.Вставить("ТестовыеНаборы", Новый Массив());
|
||||
Структура.Вставить("НастройкиВыполнения", Новый Структура());
|
||||
|
||||
Набор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||
Набор.НастройкиВыполнения = Структура.НастройкиВыполнения; // Общие настройки с набором по умолчанию
|
||||
Структура.ТестовыеНаборы.Добавить(Набор);
|
||||
|
||||
Возврат Структура;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонтекстыВызоваПоУмолчанию()
|
||||
|
||||
Возврат ЮТФабрикаСлужебный.КонтекстыМодуля(Контекст().МетаданныеМодуля);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеТеста(Имя, Знач Представление, ТегиСтрокой, Знач Контексты)
|
||||
|
||||
Контексты = НормализованныеКонтексты(Контексты);
|
||||
|
||||
Возврат ЮТФабрикаСлужебный.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоИсполняемыеСценарии(ИсполняемыеСценарии)
|
||||
|
||||
Возврат ТипЗнч(ИсполняемыеСценарии) = Тип("Структура")
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(ИсполняемыеСценарии, "ТестовыеНаборы")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТестовыйНабор(ТестовыйНабор)
|
||||
|
||||
Возврат ТипЗнч(ТестовыйНабор) = Тип("Структура")
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(ТестовыйНабор, "Тесты")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОписаниеТеста(Описание)
|
||||
|
||||
Возврат ТипЗнч(Описание) = Тип("Структура")
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(Описание, "КонтекстВызова")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьТестВНабор(Контекст, Тест, ЭтоКопия)
|
||||
|
||||
Если НЕ ЭтоКопия Тогда
|
||||
Контекст.БазовыйТест = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТекущийНабор.Тесты.Добавить(Тест);
|
||||
Контекст.ТекущийЭлемент = Тест;
|
||||
Тест.НомерВНаборе = Контекст.ТекущийНабор.Тесты.Количество();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ИнициализироватьКонтекст(МетаданныеМодуля)
|
||||
|
||||
ИсполняемыеСценарии = ИсполняемыеСценарии(МетаданныеМодуля);
|
||||
Набор = ИсполняемыеСценарии.ТестовыеНаборы[0];
|
||||
|
||||
Контекст = Новый Структура();
|
||||
|
||||
Контекст.Вставить("МетаданныеМодуля", МетаданныеМодуля);
|
||||
Контекст.Вставить("ИсполняемыеСценарии", ИсполняемыеСценарии);
|
||||
Контекст.Вставить("ТекущийНабор", Набор);
|
||||
Контекст.Вставить("ТекущийЭлемент", Набор);
|
||||
Контекст.Вставить("БазовыйТест", Неопределено);
|
||||
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НормализованныеКонтексты(ПараметрКонтексты)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ПараметрКонтексты) Тогда
|
||||
Контексты = КонтекстыВызоваПоУмолчанию();
|
||||
ИначеЕсли ТипЗнч(ПараметрКонтексты) = Тип("Строка") Тогда
|
||||
Контексты = СтрРазделить(ПараметрКонтексты, ", ", Ложь);
|
||||
Иначе
|
||||
Контексты = ПараметрКонтексты;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Контексты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d30c1fb4-a799-475b-8e62-38f8297df916">
|
||||
<name>ЮТТестыСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Тесты служебный</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -87,6 +87,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает перечисление возможные уровнией исполнения тестрв.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ФиксированнаяСтруктура - Уровни исполнения:
|
||||
// * Модуль - Строка
|
||||
// * НаборТестов - Строка
|
||||
// * Тест - Строка
|
||||
Функция УровниИсполнения() Экспорт
|
||||
|
||||
Уровни = Новый Структура;
|
||||
@ -185,6 +192,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры создания объектов, используется при загрузке макетов.
|
||||
//
|
||||
// Параметры:
|
||||
// ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи
|
||||
// ФикцияОбязательныхПолей - Булево - Фикция обязательных полей
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Параметры создания объектов:
|
||||
// * ФикцияОбязательныхПолей - Булево
|
||||
// * ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи
|
||||
Функция ПараметрыСозданияОбъектов(Знач ПараметрыЗаписи = Неопределено, ФикцияОбязательныхПолей = Ложь) Экспорт
|
||||
|
||||
Если ПараметрыЗаписи = Неопределено Тогда
|
||||
|
@ -60,7 +60,7 @@
|
||||
ЭтоТестовыйМодуль = Истина;
|
||||
ОписаниеТестовогоМодуля = ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля(МетаданныеМодуля, Новый Массив);
|
||||
|
||||
ЮТТесты.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
ЮТТестыСлужебный.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
|
||||
ПолноеИмяМетода = МетаданныеМодуля.Имя + "." + ИмяМетодаСценариев();
|
||||
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(ПолноеИмяМетода);
|
||||
@ -88,8 +88,8 @@
|
||||
|
||||
ИначеЕсли ЭтоТестовыйМодуль Тогда
|
||||
|
||||
ЮТТесты.ПослеЧтенияСценариевМодуля();
|
||||
Сценарии = ЮТТесты.СценарииМодуля();
|
||||
ЮТТестыСлужебный.ПослеЧтенияСценариевМодуля();
|
||||
Сценарии = ЮТТестыСлужебный.СценарииМодуля();
|
||||
|
||||
УдалитьНастройкиМодуляИзПервогоНабора(Сценарии); // TODO Нужен рефакторинг
|
||||
|
||||
|
@ -114,6 +114,7 @@
|
||||
<commonModules>CommonModule.ЮТТестовыеДанныеСлужебныйВызовСервера</commonModules>
|
||||
<commonModules>CommonModule.ЮТТестовыеДанныеСлужебныйТаблицыЗначений</commonModules>
|
||||
<commonModules>CommonModule.ЮТТесты</commonModules>
|
||||
<commonModules>CommonModule.ЮТТестыСлужебный</commonModules>
|
||||
<commonModules>CommonModule.ЮТТипыДанныхСлужебный</commonModules>
|
||||
<commonModules>CommonModule.ЮТУтверждения</commonModules>
|
||||
<commonModules>CommonModule.ЮТУтвержденияИБ</commonModules>
|
||||
|
@ -15,6 +15,7 @@
|
||||
<content>CommonModule.ЮТИсполнительСлужебныйКлиент</content>
|
||||
<content>CommonModule.ЮТИсполнительСлужебныйКлиентСервер</content>
|
||||
<content>CommonModule.ЮТПараметрыЗапускаСлужебный</content>
|
||||
<content>CommonModule.ЮТТестыСлужебный</content>
|
||||
<content>CommonModule.ЮТФильтрацияСлужебный</content>
|
||||
<content>CommonModule.ЮТЧитательСлужебный</content>
|
||||
<content>CommonModule.ЮТЧитательСлужебныйВызовСервера</content>
|
||||
|
@ -22,6 +22,9 @@
|
||||
|
||||
ЮТТесты
|
||||
.ДобавитьТест("СПараметрами")
|
||||
.ДобавитьТест("Представление")
|
||||
.ДобавитьТест("СПараметрамиНаКлиенте")
|
||||
.ДобавитьТест("СПараметрамиНаСервере")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -29,7 +32,11 @@
|
||||
Процедура ПередКаждымТестом() Экспорт
|
||||
|
||||
ОписаниеМодуля = ЮТФабрикаСлужебный.ОписаниеМодуля();
|
||||
ЮТТесты.ПередЧтениемСценариевМодуля(ОписаниеМодуля);
|
||||
ОписаниеМодуля.КлиентУправляемоеПриложение = Истина;
|
||||
ОписаниеМодуля.КлиентОбычноеПриложение = Истина;
|
||||
ОписаниеМодуля.Сервер = Истина;
|
||||
|
||||
ЮТТестыСлужебный.ПередЧтениемСценариевМодуля(ОписаниеМодуля);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -44,7 +51,7 @@
|
||||
.СПараметрами(3)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(Контекст().ТекущийНабор.Тесты)
|
||||
ЮТест.ОжидаетЧто(ТестыТекущегоНабора())
|
||||
.ИмеетДлину(5)
|
||||
.Свойство("[0].Параметры").ЭтоНеопределено()
|
||||
.Свойство("[1].Параметры").ИмеетДлину(3)
|
||||
@ -58,13 +65,89 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Представление() Экспорт
|
||||
|
||||
ЮТТесты
|
||||
.ДобавитьТестовыйНабор("Набор1").Представление("Представление набора")
|
||||
.ДобавитьТест("Тест1").Представление("Представление теста")
|
||||
.ДобавитьТест("Тест2")
|
||||
.СПараметрами(1).Представление("Представление теста 2", Истина)
|
||||
.СПараметрами(2).Представление("Представление теста 3")
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТекущийНабор())
|
||||
.Свойство("Представление").Равно("Представление набора")
|
||||
.Свойство("Тесты[0].Представление").Равно("Представление теста")
|
||||
.Свойство("Тесты[1].Представление").Равно("Тест2. Представление теста 2")
|
||||
.Свойство("Тесты[2].Представление").Равно("Представление теста 3");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СПараметрамиНаКлиенте() Экспорт
|
||||
|
||||
КонтекстыВызова = ЮТФабрика.КонтекстыВызова();
|
||||
ЮТТесты
|
||||
.ДобавитьКлиентскийТест("Тест1")
|
||||
.СПараметрамиНаКлиенте(1)
|
||||
.ДобавитьТест("Тест2")
|
||||
.СПараметрамиНаКлиенте(1, 2, 3)
|
||||
.СПараметрами(2)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТестыТекущегоНабора())
|
||||
.ИмеетДлину(3)
|
||||
.Свойство("[0].Параметры").ИмеетДлину(1)
|
||||
.Свойство("[0].КонтекстВызова").Равно(ЮТКоллекции.ЗначениеВМассиве(КонтекстыВызова.КлиентУправляемоеПриложение, КонтекстыВызова.КлиентОбычноеПриложение))
|
||||
.Свойство("[1].Параметры").ИмеетДлину(3)
|
||||
.Свойство("[1].КонтекстВызова").Равно(ЮТКоллекции.ЗначениеВМассиве(КонтекстыВызова.КлиентУправляемоеПриложение, КонтекстыВызова.КлиентОбычноеПриложение))
|
||||
.Свойство("[2].КонтекстВызова").ИмеетДлину(3)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ЮТТесты.ДобавитьСерверныйТест("Тест3"))
|
||||
.Метод("СПараметрамиНаКлиенте").Параметр(1)
|
||||
.ВыбрасываетИсключение("Не пересекаются контексты базового теста [Сервер] и устанавливаемые [КлиентУправляемоеПриложение, КлиентОбычноеПриложение]");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СПараметрамиНаСервере() Экспорт
|
||||
|
||||
КонтекстыВызова = ЮТФабрика.КонтекстыВызова();
|
||||
ЮТТесты
|
||||
.ДобавитьСерверныйТест("Тест1")
|
||||
.СПараметрамиНаСервере(1)
|
||||
.ДобавитьТест("Тест2")
|
||||
.СПараметрамиНаСервере(1, 2, 3)
|
||||
.СПараметрами(2)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ТестыТекущегоНабора())
|
||||
.ИмеетДлину(3)
|
||||
.Свойство("[0].Параметры").ИмеетДлину(1)
|
||||
.Свойство("[0].КонтекстВызова").Равно(ЮТКоллекции.ЗначениеВМассиве(КонтекстыВызова.Сервер))
|
||||
.Свойство("[1].Параметры").ИмеетДлину(3)
|
||||
.Свойство("[1].КонтекстВызова").Равно(ЮТКоллекции.ЗначениеВМассиве(КонтекстыВызова.Сервер))
|
||||
.Свойство("[2].КонтекстВызова").ИмеетДлину(3)
|
||||
;
|
||||
|
||||
ЮТест.ОжидаетЧто(ЮТТесты.ДобавитьКлиентскийТест("Тест3"))
|
||||
.Метод("СПараметрамиНаСервере").Параметр(1)
|
||||
.ВыбрасываетИсключение("Не пересекаются контексты базового теста [КлиентУправляемоеПриложение, КлиентОбычноеПриложение] и устанавливаемые [Сервер]");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция Контекст()
|
||||
Функция ТекущийНабор()
|
||||
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста("КонтекстРегистрацияТестов");
|
||||
Возврат ЮТТестыСлужебный.Контекст().ТекущийНабор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТестыТекущегоНабора()
|
||||
|
||||
Возврат ТекущийНабор().Тесты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user