mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-17 20:48:01 +02:00
parent
b94dc495b5
commit
97d766cc42
@ -19,6 +19,7 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Возвращает внешнюю компоненту, реализующую паузу
|
||||
// Предоставляет метод `Ожидать`, `Sleep`
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ВнешнийОбъект
|
||||
@ -28,6 +29,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает внешнюю компоненту, реализующую вывод в консоль
|
||||
// Предоставляет метод `Напечатать`, `Print`
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ВнешнийОбъект
|
||||
Функция Консоль() Экспорт
|
||||
|
||||
Возврат СоздатьКомпоненту(ОписаниеКомпонентыПауза());
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
@ -74,7 +86,7 @@
|
||||
// см. ОписаниеКомпоненты
|
||||
Функция ОписаниеКомпонентыПауза() Экспорт
|
||||
|
||||
Возврат ОписаниеКомпоненты("ОбщийМакет.ЮТYaxUnitAddIn", "YaxUnitAddin", "Sleep");
|
||||
Возврат ОписаниеКомпоненты("ОбщийМакет.ЮТYaxUnitAddIn", "YaxUnitAddin", "Common");
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -62,12 +62,12 @@
|
||||
|
||||
#Если Клиент Тогда
|
||||
Контекст = Контекст();
|
||||
Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ДоступенНаСервере Тогда
|
||||
Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ФайлЛогаДоступенНаСервере Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Сообщения = ЮТЛогированиеВызовСервера.НакопленныеСообщенияЛогирования(Истина);
|
||||
ЗаписатьСообщения(Контекст.ФайлЛога, Сообщения);
|
||||
ЗаписатьСообщения(Контекст, Сообщения);
|
||||
#Иначе
|
||||
ВызватьИсключение "Метод вывода серверных сообщений в лог должен вызываться с клиента";
|
||||
#КонецЕсли
|
||||
@ -86,13 +86,16 @@
|
||||
// ПараметрыЗапуска - см. ЮТФабрика.ПараметрыЗапуска
|
||||
Процедура Инициализация(ПараметрыЗапуска) Экспорт
|
||||
|
||||
ДанныеКонтекста = НовыйДанныеКонтекста();
|
||||
ДанныеКонтекста.ФайлЛога = ПараметрыЗапуска.logging.file;
|
||||
УровниЛога = УровниЛога();
|
||||
|
||||
Если ПараметрыЗапуска.logging.enable = Неопределено Тогда
|
||||
ДанныеКонтекста.Включено = ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога);
|
||||
Иначе
|
||||
ДанныеКонтекста.Включено = ПараметрыЗапуска.logging.enable;
|
||||
ДанныеКонтекста = НовыйДанныеКонтекста();
|
||||
ДанныеКонтекста.ФайлЛога = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "file");
|
||||
ДанныеКонтекста.ВыводВКонсоль = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "console", Ложь);
|
||||
ДанныеКонтекста.Включено = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "enable", Неопределено);
|
||||
УровеньЛога = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "level", УровниЛога.Отладка);
|
||||
|
||||
Если ДанныеКонтекста.Включено = Неопределено Тогда
|
||||
ДанныеКонтекста.Включено = ДанныеКонтекста.ВыводВКонсоль ИЛИ ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ДанныеКонтекста.Включено Тогда
|
||||
@ -100,24 +103,23 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УровниЛога = УровниЛога();
|
||||
|
||||
Если СтрСравнить(ПараметрыЗапуска.logging.level, УровниЛога.Ошибка) = 0 Тогда
|
||||
Если СтрСравнить(УровеньЛога, УровниЛога.Ошибка) = 0 Тогда
|
||||
ДанныеКонтекста.УровеньЛога = 2;
|
||||
ИначеЕсли СтрСравнить(ПараметрыЗапуска.logging.level, УровниЛога.Информация) = 0 Тогда
|
||||
ИначеЕсли СтрСравнить(УровеньЛога, УровниЛога.Информация) = 0 Тогда
|
||||
ДанныеКонтекста.УровеньЛога = 1;
|
||||
Иначе
|
||||
ДанныеКонтекста.УровеньЛога = 0;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеПроверки = Строка(Новый УникальныйИдентификатор());
|
||||
ЗаписатьСообщения(ДанныеКонтекста.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(ЗначениеПроверки), Ложь);
|
||||
ДанныеКонтекста.ДоступенНаСервере = ЮТЛогированиеВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки);
|
||||
ЗаписатьСообщения(ДанныеКонтекста, ЮТОбщий.ЗначениеВМассиве(ЗначениеПроверки), Ложь);
|
||||
|
||||
ДанныеКонтекста.ФайлЛогаДоступенНаСервере = ЮТЛогированиеВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки);
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
|
||||
|
||||
Разделитель = "------------------------------------------------------";
|
||||
ЗаписатьСообщения(ДанныеКонтекста.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(Разделитель), Ложь);
|
||||
ЗаписатьСообщения(ДанныеКонтекста, ЮТОбщий.ЗначениеВМассиве(Разделитель), Ложь);
|
||||
Информация("Старт");
|
||||
|
||||
КонецПроцедуры
|
||||
@ -284,7 +286,8 @@
|
||||
// Структура - Новый данные контекста:
|
||||
// * Включено - Булево - Логирование включено
|
||||
// * ФайлЛога - Неопределено - Файл вывода лога
|
||||
// * ДоступенНаСервере - Булево - Файл лога доступен на сервере
|
||||
// * ВыводВКонсоль- Булево - Вывод лога в консоль
|
||||
// * ФайлЛогаДоступенНаСервере - Булево - Файл лога доступен на сервере
|
||||
// * НакопленныеЗаписи - Массив из Строка - Буфер для серверных сообщений
|
||||
// * ОбщееКоличествоТестов - Число
|
||||
// * КоличествоВыполненныхТестов - Число
|
||||
@ -294,7 +297,8 @@
|
||||
ДанныеКонтекста = Новый Структура();
|
||||
ДанныеКонтекста.Вставить("Включено", Ложь);
|
||||
ДанныеКонтекста.Вставить("ФайлЛога", Неопределено);
|
||||
ДанныеКонтекста.Вставить("ДоступенНаСервере", Ложь);
|
||||
ДанныеКонтекста.Вставить("ВыводВКонсоль", Ложь);
|
||||
ДанныеКонтекста.Вставить("ФайлЛогаДоступенНаСервере", Ложь);
|
||||
ДанныеКонтекста.Вставить("НакопленныеЗаписи", Новый Массив());
|
||||
ДанныеКонтекста.Вставить("ОбщееКоличествоТестов", 0);
|
||||
ДанныеКонтекста.Вставить("КоличествоВыполненныхТестов", 0);
|
||||
@ -336,10 +340,10 @@
|
||||
#КонецЕсли
|
||||
Текст = СтрШаблон("%1 [%2][%3]: %4", ЮТОбщий.ПредставлениеУниверсальнойДата(), КонтекстИсполнения, УровеньЛога, Сообщение);
|
||||
#Если Клиент Тогда
|
||||
ЗаписатьСообщения(Контекст.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(Текст));
|
||||
ЗаписатьСообщения(Контекст, ЮТОбщий.ЗначениеВМассиве(Текст));
|
||||
#Иначе
|
||||
Если Контекст.ДоступенНаСервере Тогда
|
||||
ЗаписатьСообщения(Контекст.ФайлЛога, ЮТОбщий.ЗначениеВМассиве(Текст));
|
||||
Если Контекст.ФайлЛогаДоступенНаСервере Тогда
|
||||
ЗаписатьСообщения(Контекст, ЮТОбщий.ЗначениеВМассиве(Текст));
|
||||
Иначе
|
||||
Контекст.НакопленныеЗаписи.Добавить(Текст);
|
||||
КонецЕсли;
|
||||
@ -347,11 +351,30 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьСообщения(ФайлЛога, Сообщения, Дописывать = Истина)
|
||||
Процедура ЗаписатьСообщения(Контекст, Сообщения, Дописывать = Истина)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение "Метод записи лога не доступен в web-клиенте";
|
||||
#Иначе
|
||||
|
||||
Если Контекст.ВыводВКонсоль Тогда
|
||||
ЗаписатьЛогВКонсоль(Сообщения);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.ФайлЛога) Тогда
|
||||
ЗаписатьЛогВФайл(Контекст.ФайлЛога, Сообщения, Дописывать);
|
||||
КонецЕсли;
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЛогВФайл(ФайлЛога, Сообщения, Дописывать = Истина)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение "Метод записи лога не доступен в web-клиенте";
|
||||
#Иначе
|
||||
|
||||
Запись = Новый ЗаписьТекста(ФайлЛога, КодировкаТекста.UTF8, , Дописывать);
|
||||
|
||||
Для Каждого Сообщение Из Сообщения Цикл
|
||||
@ -363,6 +386,24 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЛогВКонсоль(Сообщения)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение "Метод записи лога не доступен в web-клиенте";
|
||||
#Иначе
|
||||
|
||||
Попытка
|
||||
Консоль = ЮТКомпоненты.Консоль();
|
||||
|
||||
Для Каждого Сообщение Из Сообщения Цикл
|
||||
Консоль.Напечатать(Сообщение);
|
||||
КонецЦикла;
|
||||
Исключение
|
||||
КонецПопытки;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция Прогресс()
|
||||
|
||||
Контекст = Контекст();
|
||||
|
@ -30,6 +30,8 @@
|
||||
|
||||
Чтение = Новый ЧтениеТекста(ИмяФайла);
|
||||
Строка = Чтение.ПрочитатьСтроку();
|
||||
Чтение.Закрыть();
|
||||
|
||||
Возврат Строка = ЗначениеПроверки;
|
||||
|
||||
Исключение
|
||||
|
Binary file not shown.
@ -26,6 +26,7 @@
|
||||
.ДобавитьТест("СформироватьСтрокуСимволов")
|
||||
.ДобавитьТест("ДанныеСовпадают")
|
||||
.ДобавитьТест("Пауза")
|
||||
.ДобавитьТест("СообщитьВКонсоль")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -43,6 +44,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СообщитьВКонсоль() Экспорт
|
||||
|
||||
ЮТКомпоненты.Консоль().Напечатать(ТекущаяДата());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьСтроку() Экспорт
|
||||
|
||||
Варианты = ЮТест.Варианты("Исходная, Дополнение, Разделитель, Результат")
|
||||
|
Loading…
x
Reference in New Issue
Block a user