mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-17 20:48:01 +02:00
* Рефакторинг чтения тестов
* Установка настроек выполнения на модуль
This commit is contained in:
parent
7fb5b12438
commit
577194e422
@ -47,6 +47,10 @@
|
||||
|
||||
Значение = КонтекстИсполнения.Набор.НастройкиВыполнения[ИмяНастройки];
|
||||
|
||||
ИначеЕсли КонтекстИсполнения.Модуль <> Неопределено И КонтекстИсполнения.Модуль.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда
|
||||
|
||||
Значение = КонтекстИсполнения.Модуль.НастройкиВыполнения[ИмяНастройки];
|
||||
|
||||
Иначе
|
||||
|
||||
ГлобальныеНастройки = ЮТКонтекст.ГлобальныеНастройкиВыполнения();
|
||||
|
@ -367,12 +367,15 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура - Исполняемые сценарии:
|
||||
// * ТестовыеНаборы - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора - Тестовые наборы модуля
|
||||
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
||||
Функция ИсполняемыеСценарии(МетаданныеМодуля)
|
||||
|
||||
Структура = Новый Структура;
|
||||
Структура.Вставить("ТестовыеНаборы", Новый Массив());
|
||||
Структура.Вставить("НастройкиВыполнения", Новый Структура());
|
||||
|
||||
Набор = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||
Набор.НастройкиВыполнения = Структура.НастройкиВыполнения; // Общие настройки с набором по умолчанию
|
||||
Структура.ТестовыеНаборы.Добавить(Набор);
|
||||
|
||||
Возврат Структура;
|
||||
|
@ -198,12 +198,14 @@
|
||||
// * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
// * НаборыТестов - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора
|
||||
// * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки
|
||||
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
||||
Функция ОписаниеТестовогоМодуля(МетаданныеМодуля, НаборыТестов) Экспорт
|
||||
|
||||
Описание = Новый Структура;
|
||||
Описание.Вставить("МетаданныеМодуля", МетаданныеМодуля);
|
||||
Описание.Вставить("НаборыТестов", НаборыТестов);
|
||||
Описание.Вставить("Ошибки", Новый Массив);
|
||||
Описание.Вставить("НастройкиВыполнения", Новый Структура());
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
|
@ -31,16 +31,15 @@
|
||||
|
||||
ЮТФильтрация.УстановитьКонтекст(ПараметрыЗапускаТестов);
|
||||
|
||||
Для Каждого ОписаниеМодуля Из ТестовыеМодули() Цикл
|
||||
Для Каждого МетаданныеМодуля Из ТестовыеМодули() Цикл
|
||||
|
||||
НаборыТестов = ТестовыеНаборыМодуля(ОписаниеМодуля, ПараметрыЗапускаТестов);
|
||||
ОписаниеТестовогоМодуля = ТестовыеНаборыМодуля(МетаданныеМодуля, ПараметрыЗапускаТестов);
|
||||
|
||||
Если НаборыТестов = Неопределено Тогда
|
||||
Если ОписаниеТестовогоМодуля = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ТестовыйМодуль = ЮТФабрика.ОписаниеТестовогоМодуля(ОписаниеМодуля, НаборыТестов);
|
||||
Результат.Добавить(ТестовыйМодуль);
|
||||
Результат.Добавить(ОписаниеТестовогоМодуля);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@ -51,17 +50,19 @@
|
||||
// ПрочитатьНаборТестов
|
||||
// Читает набор тестов из модуля
|
||||
// Параметры:
|
||||
// ОписаниеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Неопределено, Массив из см. ЮТФабрика.ОписаниеТестовогоНабора- Если прочитано, то будет возвращено описание наборов
|
||||
Функция ИсполняемыеСценарииМодуля(ОписаниеМодуля) Экспорт
|
||||
// - Неопределено - Если это не тестовый модуль
|
||||
// - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
Функция ИсполняемыеСценарииМодуля(МетаданныеМодуля) Экспорт
|
||||
|
||||
ЭтоТестовыйМодуль = Истина;
|
||||
ОписаниеТестовогоМодуля = ЮТФабрика.ОписаниеТестовогоМодуля(МетаданныеМодуля, Неопределено);
|
||||
|
||||
ЮТТесты.ПередЧтениемСценариевМодуля(ОписаниеМодуля);
|
||||
ЮТТесты.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
|
||||
ПолноеИмяМетода = ОписаниеМодуля.Имя + "." + ИмяМетодаСценариев();
|
||||
ПолноеИмяМетода = МетаданныеМодуля.Имя + "." + ИмяМетодаСценариев();
|
||||
Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода);
|
||||
|
||||
Если Ошибка <> Неопределено Тогда
|
||||
@ -81,26 +82,25 @@
|
||||
|
||||
Если Ошибка <> Неопределено Тогда
|
||||
|
||||
Данные = Новый Массив(); // Фиксируем, чтобы отобразить в отчете
|
||||
Описание = ЮТФабрика.ОписаниеТестовогоНабора(ОписаниеМодуля.Имя);
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуЧтенияТестов(Описание, "Ошибка формирования списка тестовых методов", Ошибка);
|
||||
|
||||
Данные.Добавить(Описание);
|
||||
НаборПоУмолчанию = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуЧтенияТестов(НаборПоУмолчанию, "Ошибка формирования списка тестовых методов", Ошибка);
|
||||
ОписаниеТестовогоМодуля.НаборыТестов.Добавить(НаборПоУмолчанию);
|
||||
|
||||
ИначеЕсли ЭтоТестовыйМодуль Тогда
|
||||
|
||||
ЮТТесты.ПослеЧтенияСценариевМодуля();
|
||||
Сценарии = ЮТТесты.СценарииМодуля();
|
||||
|
||||
Данные = ЮТФильтрация.ОтфильтроватьТестовыеНаборы(Сценарии.ТестовыеНаборы, ОписаниеМодуля);
|
||||
ОписаниеТестовогоМодуля.НаборыТестов = ЮТФильтрация.ОтфильтроватьТестовыеНаборы(Сценарии.ТестовыеНаборы, МетаданныеМодуля);
|
||||
ОписаниеТестовогоМодуля.НастройкиВыполнения = Сценарии.НастройкиВыполнения;
|
||||
|
||||
Иначе
|
||||
|
||||
Данные = Неопределено;
|
||||
ОписаниеТестовогоМодуля = Неопределено;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Данные;
|
||||
Возврат ОписаниеТестовогоМодуля;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -171,34 +171,46 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТестовыеНаборыМодуля(Модуль, ПараметрыЗапуска)
|
||||
Функция ТестовыеНаборыМодуля(МетаданныеМодуля, ПараметрыЗапуска)
|
||||
|
||||
// TODO Фильтрация по путям
|
||||
НаборыТестов = Неопределено;
|
||||
ОписаниеМодуля = Неопределено;
|
||||
|
||||
#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
||||
Если Модуль.КлиентОбычноеПриложение ИЛИ Модуль.КлиентУправляемоеПриложение Тогда
|
||||
НаборыТестов = ИсполняемыеСценарииМодуля(Модуль);
|
||||
ИначеЕсли Модуль.Сервер Тогда
|
||||
НаборыТестов = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(Модуль);
|
||||
Если МетаданныеМодуля.КлиентОбычноеПриложение ИЛИ МетаданныеМодуля.КлиентУправляемоеПриложение Тогда
|
||||
|
||||
ОписаниеМодуля = ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
||||
|
||||
ИначеЕсли МетаданныеМодуля.Сервер Тогда
|
||||
|
||||
ОписаниеМодуля = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
||||
ЮТЛогирование.ВывестиСерверныеСообщения();
|
||||
|
||||
КонецЕсли;
|
||||
#ИначеЕсли Сервер Тогда
|
||||
Если Модуль.Сервер Тогда
|
||||
НаборыТестов = ИсполняемыеСценарииМодуля(Модуль);
|
||||
Если МетаданныеМодуля.Сервер Тогда
|
||||
|
||||
ОписаниеМодуля = ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
||||
|
||||
Иначе
|
||||
|
||||
ВызватьИсключение "Чтение списка тестов модуля в недоступном контексте";
|
||||
|
||||
КонецЕсли;
|
||||
#ИначеЕсли Клиент Тогда
|
||||
Если Модуль.КлиентУправляемоеПриложение Тогда
|
||||
НаборыТестов = ИсполняемыеСценарииМодуля(Модуль);
|
||||
ИначеЕсли Модуль.Сервер Тогда
|
||||
НаборыТестов = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(Модуль);
|
||||
Если МетаданныеМодуля.КлиентУправляемоеПриложение Тогда
|
||||
|
||||
ОписаниеМодуля = ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
||||
|
||||
ИначеЕсли МетаданныеМодуля.Сервер Тогда
|
||||
|
||||
ОписаниеМодуля = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(МетаданныеМодуля);
|
||||
ЮТЛогирование.ВывестиСерверныеСообщения();
|
||||
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
Возврат НаборыТестов;
|
||||
|
||||
Возврат ОписаниеМодуля;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user