1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-10-08 22:51:57 +02:00

Доработка тестов

This commit is contained in:
Anton Titovets
2025-09-10 19:17:52 +03:00
parent c9c9d57ea9
commit fc28f33ee8
6 changed files with 363 additions and 308 deletions

View File

@@ -93,6 +93,27 @@
Модуль = СтрЗаменить(Модуль, Замена.Ключ, Замена.Значение);
КонецЦикла;
Если СтрНайти(Модуль, "// !OPI") > 0 Тогда
ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.УстановитьТекст(Модуль);
КоличествоСтрок = ТекстовыйДокумент.КоличествоСтрок();
Для Н = 0 По КоличествоСтрок - 1 Цикл
Индекс = КоличествоСтрок - Н;
ТекущаяСтрока = ТекстовыйДокумент.ПолучитьСтроку(Индекс);
Если СтрНайти(ТекущаяСтрока, "// !OPI") > 0 Тогда
ТекстовыйДокумент.УдалитьСтроку(Индекс)
КонецЕсли;
КонецЦикла;
Модуль = ТекстовыйДокумент.ПолучитьТекст();
КонецЕсли;
КонецПроцедуры
#КонецОбласти

View File

@@ -65,6 +65,7 @@
КонецЦикла;
ТекстМодуля = ДокументТестов.ПолучитьТекст();
ТекстМодуля = СтрЗаменить(ТекстМодуля, "CLITestsMark = 0;", "CLITestsMark = 1;");
Если Язык = "ru" Тогда

View File

@@ -58,9 +58,9 @@
СтруктураАнг.Вставить("ПутьISS" , ПутьКРепозиторию + "\service\iss\en.iss");
СтруктураАнг.Вставить("Описание", "OInt CLI - CLI toolkit for integrating with APIs of popular online services");
СтруктураАнг.Вставить("Префикс" , "en");
МассивЛокализаций.Добавить(СтруктураРус);
МассивЛокализаций.Добавить(СтруктураАнг);
МассивЛокализаций.Добавить(СтруктураРус);
КаталогВыгрузки = Новый Файл(ПутьВыгрузки);
Если КаталогВыгрузки.Существует() Тогда

View File

@@ -49,6 +49,80 @@
#Область СлужебныйПрограммныйИнтерфейс
Функция ВыполнитьТестCLI(Знач Библиотека, Знач Метод, Знач Опции, Знач Записывать = Истина) Экспорт
Если OPI_Инструменты.ЭтоWindows() Тогда
Если OPI_Инструменты.ЭтоOneScript() Тогда
Oint = """C:\Program Files (x86)\OInt\bin\oint.bat""";
Иначе
Oint = """C:\Program Files\OneScript\bin\oint.bat""";
КонецЕсли;
Иначе
Oint = "oint";
КонецЕсли;
ФайлРезультата = ПолучитьИмяВременногоФайла();
СтрокаЗапуска = Oint + " " + Библиотека + " " + Метод;
ДопОпции = Новый Структура;
ОпцииЗаписи = Новый Структура;
Для Каждого Опция Из Опции Цикл
Если Опция.Значение = Неопределено Или Строка(Опция.Значение) = "" Тогда
Продолжить;
КонецЕсли;
ТекущееЗначение = ПолучитьЗначениеДляCLI(Опция.Значение, , ДопОпции);
СтрокаЗапуска = СтрокаЗапуска
+ " --"
+ Опция.Ключ
+ " "
+ ТекущееЗначение;
ОпцииЗаписи.Вставить(Опция.Ключ, ТекущееЗначение);
КонецЦикла;
Для Каждого ДопОпция Из ДопОпции Цикл
ТекущееЗначение = ПолучитьЗначениеДляCLI(ДопОпция.Значение);
СтрокаЗапуска = СтрокаЗапуска
+ " --"
+ ДопОпция.Ключ
+ " "
+ ТекущееЗначение;
ОпцииЗаписи.Вставить(ДопОпция.Ключ, ТекущееЗначение);
КонецЦикла;
// BSLLS:ExternalAppStarting-off
ЗапуститьПриложение(СтрокаЗапуска + " --out """ + ФайлРезультата + """ --debug" , , Истина);
// BSLLS:ExternalAppStarting-on
Результат = ПрочестьРезультатCLI(ФайлРезультата);
Если Записывать Тогда
ЗаписатьВызовCLI(Библиотека, Метод, ОпцииЗаписи);
КонецЕсли;
Попытка
УдалитьФайлы(ФайлРезультата);
Исключение
Сообщить("Не удалось удалить временный файл после теста!");
КонецПопытки;
Возврат Результат;
КонецФункции
Функция ПолучитьСоответствиеРазделовТестирования() Экспорт
Разделы = Новый Структура;
@@ -524,80 +598,6 @@
КонецПроцедуры
Функция ВыполнитьТестCLI(Знач Библиотека, Знач Метод, Знач Опции, Знач Записывать = Истина) Экспорт
Если OPI_Инструменты.ЭтоWindows() Тогда
Если OPI_Инструменты.ЭтоOneScript() Тогда
Oint = """C:\Program Files (x86)\OInt\bin\oint.bat""";
Иначе
Oint = """C:\Program Files\OneScript\bin\oint.bat""";
КонецЕсли;
Иначе
Oint = "oint";
КонецЕсли;
ФайлРезультата = ПолучитьИмяВременногоФайла();
СтрокаЗапуска = Oint + " " + Библиотека + " " + Метод;
ДопОпции = Новый Структура;
ОпцииЗаписи = Новый Структура;
Для Каждого Опция Из Опции Цикл
Если Опция.Значение = Неопределено Или Строка(Опция.Значение) = "" Тогда
Продолжить;
КонецЕсли;
ТекущееЗначение = ПолучитьЗначениеДляCLI(Опция.Значение, , ДопОпции);
СтрокаЗапуска = СтрокаЗапуска
+ " --"
+ Опция.Ключ
+ " "
+ ТекущееЗначение;
ОпцииЗаписи.Вставить(Опция.Ключ, ТекущееЗначение);
КонецЦикла;
Для Каждого ДопОпция Из ДопОпции Цикл
ТекущееЗначение = ПолучитьЗначениеДляCLI(ДопОпция.Значение);
СтрокаЗапуска = СтрокаЗапуска
+ " --"
+ ДопОпция.Ключ
+ " "
+ ТекущееЗначение;
ОпцииЗаписи.Вставить(ДопОпция.Ключ, ТекущееЗначение);
КонецЦикла;
// BSLLS:ExternalAppStarting-off
ЗапуститьПриложение(СтрокаЗапуска + " --out """ + ФайлРезультата + """ --debug" , , Истина);
// BSLLS:ExternalAppStarting-on
Результат = ПрочестьРезультатCLI(ФайлРезультата);
Если Записывать Тогда
ЗаписатьВызовCLI(Библиотека, Метод, ОпцииЗаписи);
КонецЕсли;
Попытка
УдалитьФайлы(ФайлРезультата);
Исключение
Сообщить("Не удалось удалить временный файл после теста!");
КонецПопытки;
Возврат Результат;
КонецФункции
Процедура ОбработатьРезультатТестирования(Знач Результат
, Знач Метод
, Знач Библиотека
@@ -672,6 +672,21 @@
КонецПроцедуры
Процедура ВывестиСлужебнуюИнформацию(Знач Текст, Знач Примечание, Знач Библиотека) Экспорт
ШаблонТекста = "
|--!!!---------%1----------!!!--
|
|%2
|
|%3
|
|---------------------------------";
Сообщить(СтрШаблон(ШаблонТекста, Библиотека, Примечание, Текст));
КонецПроцедуры
#Область ReportPortal
Функция СоздатьЗапускReportPortal(Знач Платформа = "") Экспорт
@@ -883,178 +898,6 @@
КонецФункции
Процедура ЗаписатьПропущенныйТест(Знач Библиотека, Знач Метод, Знач Вариант);
Данные = ПолучитьСуществующийЗапуск();
Если Данные = Неопределено Тогда
Возврат;
КонецЕсли;
IDНабора = СоздатьНаборЗапуска(Библиотека);
IDЭлемента = СоздатьТестовыйЭлемент(IDНабора, Библиотека, Метод, Вариант);
Токен = ПолучитьПараметр("RPortal_Token");
Проект = ПолучитьПараметр("RPortal_MainProject");
URL = ПолучитьПараметр("RPortal_URL");
ТекущаяДата = ПолучитьВремяЗапуска();
СтруктураЭлемента = Новый Структура;
СтруктураЭлемента.Вставить("endTime" , ТекущаяДата);
СтруктураЭлемента.Вставить("launchUuid" , Данные["id"]);
СтруктураЭлемента.Вставить("status" , "skipped");
ReportPortal().ЗавершитьЭлемент(URL, Токен, Проект, IDЭлемента, СтруктураЭлемента);
КонецПроцедуры
Процедура ЗаписатьЛогТеста(Знач Тест, Знач Текст, Знач Уровень)
Данные = ПолучитьСуществующийЗапуск();
Если Данные = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущаяДата = ПолучитьВремяЗапуска();
Токен = ПолучитьПараметр("RPortal_Token");
Проект = ПолучитьПараметр("RPortal_MainProject");
URL = ПолучитьПараметр("RPortal_URL");
СтруктураЛога = Новый Структура;
СтруктураЛога.Вставить("launchUuid", Данные["id"]);
СтруктураЛога.Вставить("itemUuid" , Тест);
СтруктураЛога.Вставить("time" , ТекущаяДата);
СтруктураЛога.Вставить("message" , Текст);
СтруктураЛога.Вставить("level" , Уровень);
ReportPortal().ЗаписатьЛог(URL, Токен, Проект, СтруктураЛога);
КонецПроцедуры
Процедура ЗавершитьТестовыйЭлемент(Знач UUID, Знач Статус)
Данные = ПолучитьСуществующийЗапуск();
Если Данные = Неопределено Тогда
Возврат;
КонецЕсли;
Токен = ПолучитьПараметр("RPortal_Token");
Проект = ПолучитьПараметр("RPortal_MainProject");
URL = ПолучитьПараметр("RPortal_URL");
ТекущаяДата = ПолучитьВремяЗапуска();
СтруктураЭлемента = Новый Структура;
СтруктураЭлемента.Вставить("endTime" , ТекущаяДата);
СтруктураЭлемента.Вставить("launchUuid" , Данные["id"]);
СтруктураЭлемента.Вставить("status" , Статус);
ReportPortal().ЗавершитьЭлемент(URL, Токен, Проект, UUID, СтруктураЭлемента);
НайденныйТест = Данные["items"].Получить(UUID);
Если ЗначениеЗаполнено(НайденныйТест) Тогда
Данные["tests"].Добавить(НайденныйТест);
КонецЕсли;
ЗаписатьФайлЗапуска(Данные);
КонецПроцедуры
Процедура ЗаписатьФайлЗапуска(Знач Данные)
ФайлЗапуска = ПолучитьПараметр("RPortal_MainLaunch");
OPI_Инструменты.ЗаписатьJSONФайл(ФайлЗапуска, Данные);
КонецПроцедуры
Процедура СоздатьФайлЗапуска(Знач UUID)
ИВФ = ПолучитьИмяВременногоФайла();
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("id" , UUID);
СтруктураДанных.Вставить("ended" , Ложь);
СтруктураДанных.Вставить("suites", Новый Соответствие);
СтруктураДанных.Вставить("tests" , Новый Массив);
СтруктураДанных.Вставить("items" , Новый Соответствие);
OPI_Инструменты.ЗаписатьJSONФайл(ИВФ, СтруктураДанных);
ЗаписатьПараметр("RPortal_MainLaunch", ИВФ);
КонецПроцедуры
Функция ПолучитьСуществующийЗапуск()
Данные = ПрочитатьФайлЗапуска();
ID = Данные["id"];
Завершен = Данные["ended"];
Если Не ЗначениеЗаполнено(ID) Или Завершен Тогда
Возврат Неопределено;
Иначе
Возврат Данные;
КонецЕсли;
КонецФункции
Функция ПолучитьВремяЗапуска()
Сдвиг = ?(OPI_Инструменты.ЭтоWindows(), 3600 * 3, 0);
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату() - Сдвиг;
Возврат ТекущаяДата;
КонецФункции
Функция ПрочитатьФайлЗапуска()
ФайлЗапуска = ПолучитьПараметр("RPortal_MainLaunch");
ОбъектЗапуска = Новый Файл(ФайлЗапуска);
Если Не ЗначениеЗаполнено(ФайлЗапуска) Или Не ОбъектЗапуска.Существует() Тогда
Возврат Новый Соответствие;
КонецЕсли;
Данные = OPI_Инструменты.ПрочитатьJSONФайл(ФайлЗапуска, Истина);
Возврат Данные;
КонецФункции
Функция ReportPortal()
Попытка
//@skip-check property-not-writable
OPI_ReportPortal = Неопределено;
// !OInt ТекущийКаталог = СтрЗаменить(ТекущийСценарий().Каталог, "\", "/");
// !OInt МассивПути = СтрРазделить(ТекущийКаталог, "/");
// !OInt МассивПути.Удалить(МассивПути.ВГраница());
// !OInt МассивПути.Удалить(МассивПути.ВГраница());
// !OInt МассивПути.Добавить("core");
// !OInt МассивПути.Добавить("Modules");
// !OInt МассивПути.Добавить("OPI_ReportPortal.os");
// !OInt ПодключитьСценарий(СтрСоединить(МассивПути, "/"), "ReportPortal");
// !OInt OPI_ReportPortal = Новый("ReportPortal");
Возврат OPI_ReportPortal;
Исключение
Возврат OPI_ReportPortal;
КонецПопытки;
КонецФункции
#КонецОбласти
#Область Параметризация
@@ -11058,7 +10901,7 @@
ОжидаетЧто(Результат["result"]).Равно(Истина);
Если СтрНайти(Вариант, "Проверка") Тогда
Если СтрНайти(Вариант, "Проверка") И Не ЭтоТестCLI() Тогда
ОжидаетЧто(СтрЗаканчиваетсяНа(Результат["path"], Путь)).Равно(Истина);
КонецЕсли;
@@ -11386,6 +11229,184 @@
#КонецОбласти
#Область ReportPortal
Процедура ЗаписатьПропущенныйТест(Знач Библиотека, Знач Метод, Знач Вариант)
Данные = ПолучитьСуществующийЗапуск();
Если Данные = Неопределено Тогда
Возврат;
КонецЕсли;
IDНабора = СоздатьНаборЗапуска(Библиотека);
IDЭлемента = СоздатьТестовыйЭлемент(IDНабора, Библиотека, Метод, Вариант);
Токен = ПолучитьПараметр("RPortal_Token");
Проект = ПолучитьПараметр("RPortal_MainProject");
URL = ПолучитьПараметр("RPortal_URL");
ТекущаяДата = ПолучитьВремяЗапуска();
СтруктураЭлемента = Новый Структура;
СтруктураЭлемента.Вставить("endTime" , ТекущаяДата);
СтруктураЭлемента.Вставить("launchUuid" , Данные["id"]);
СтруктураЭлемента.Вставить("status" , "skipped");
ReportPortal().ЗавершитьЭлемент(URL, Токен, Проект, IDЭлемента, СтруктураЭлемента);
КонецПроцедуры
Процедура ЗаписатьЛогТеста(Знач Тест, Знач Текст, Знач Уровень)
Данные = ПолучитьСуществующийЗапуск();
Если Данные = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущаяДата = ПолучитьВремяЗапуска();
Токен = ПолучитьПараметр("RPortal_Token");
Проект = ПолучитьПараметр("RPortal_MainProject");
URL = ПолучитьПараметр("RPortal_URL");
СтруктураЛога = Новый Структура;
СтруктураЛога.Вставить("launchUuid", Данные["id"]);
СтруктураЛога.Вставить("itemUuid" , Тест);
СтруктураЛога.Вставить("time" , ТекущаяДата);
СтруктураЛога.Вставить("message" , Текст);
СтруктураЛога.Вставить("level" , Уровень);
ReportPortal().ЗаписатьЛог(URL, Токен, Проект, СтруктураЛога);
КонецПроцедуры
Процедура ЗавершитьТестовыйЭлемент(Знач UUID, Знач Статус)
Данные = ПолучитьСуществующийЗапуск();
Если Данные = Неопределено Тогда
Возврат;
КонецЕсли;
Токен = ПолучитьПараметр("RPortal_Token");
Проект = ПолучитьПараметр("RPortal_MainProject");
URL = ПолучитьПараметр("RPortal_URL");
ТекущаяДата = ПолучитьВремяЗапуска();
СтруктураЭлемента = Новый Структура;
СтруктураЭлемента.Вставить("endTime" , ТекущаяДата);
СтруктураЭлемента.Вставить("launchUuid" , Данные["id"]);
СтруктураЭлемента.Вставить("status" , Статус);
ReportPortal().ЗавершитьЭлемент(URL, Токен, Проект, UUID, СтруктураЭлемента);
НайденныйТест = Данные["items"].Получить(UUID);
Если ЗначениеЗаполнено(НайденныйТест) Тогда
Данные["tests"].Добавить(НайденныйТест);
КонецЕсли;
ЗаписатьФайлЗапуска(Данные);
КонецПроцедуры
Процедура ЗаписатьФайлЗапуска(Знач Данные)
ФайлЗапуска = ПолучитьПараметр("RPortal_MainLaunch");
OPI_Инструменты.ЗаписатьJSONФайл(ФайлЗапуска, Данные);
КонецПроцедуры
Процедура СоздатьФайлЗапуска(Знач UUID)
ИВФ = ПолучитьИмяВременногоФайла();
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("id" , UUID);
СтруктураДанных.Вставить("ended" , Ложь);
СтруктураДанных.Вставить("suites", Новый Соответствие);
СтруктураДанных.Вставить("tests" , Новый Массив);
СтруктураДанных.Вставить("items" , Новый Соответствие);
OPI_Инструменты.ЗаписатьJSONФайл(ИВФ, СтруктураДанных);
ЗаписатьПараметр("RPortal_MainLaunch", ИВФ);
КонецПроцедуры
Функция ПолучитьСуществующийЗапуск()
Данные = ПрочитатьФайлЗапуска();
ID = Данные["id"];
Завершен = Данные["ended"];
Если Не ЗначениеЗаполнено(ID) Или Завершен Тогда
Возврат Неопределено;
Иначе
Возврат Данные;
КонецЕсли;
КонецФункции
Функция ПолучитьВремяЗапуска()
Сдвиг = ?(OPI_Инструменты.ЭтоWindows(), 3600 * 3, 0);
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату() - Сдвиг;
Возврат ТекущаяДата;
КонецФункции
Функция ПрочитатьФайлЗапуска()
ФайлЗапуска = ПолучитьПараметр("RPortal_MainLaunch");
ОбъектЗапуска = Новый Файл(ФайлЗапуска);
Если Не ЗначениеЗаполнено(ФайлЗапуска) Или Не ОбъектЗапуска.Существует() Тогда
Возврат Новый Соответствие;
КонецЕсли;
Данные = OPI_Инструменты.ПрочитатьJSONФайл(ФайлЗапуска, Истина);
Возврат Данные;
КонецФункции
Функция ReportPortal()
Попытка
//@skip-check property-not-writable
OPI_ReportPortal = Неопределено;
// !OInt ТекущийКаталог = СтрЗаменить(ТекущийСценарий().Каталог, "\", "/");
// !OInt МассивПути = СтрРазделить(ТекущийКаталог, "/");
// !OInt МассивПути.Удалить(МассивПути.ВГраница());
// !OInt МассивПути.Удалить(МассивПути.ВГраница());
// !OInt МассивПути.Добавить("core");
// !OInt МассивПути.Добавить("Modules");
// !OInt МассивПути.Добавить("OPI_ReportPortal.os");
// !OInt ПодключитьСценарий(СтрСоединить(МассивПути, "/"), "ReportPortal");
// !OInt OPI_ReportPortal = Новый("ReportPortal");
Возврат OPI_ReportPortal;
Исключение
Возврат OPI_ReportPortal;
КонецПопытки;
КонецФункции
#КонецОбласти
#Область Прочее
Функция ПолучитьЗначениеИзФайла(Параметр, Путь)
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
@@ -11775,6 +11796,65 @@
КонецФункции
Функция ВывестиЛог(Знач Результат, Знач Метод, Знач Библиотека, Знач ОписаниеОшибки = Неопределено)
Шапка = Строка(OPI_Инструменты.ПолучитьТекущуюДату()) + " | " + Метод;
Данные = РезультатТестаКакТекст(Результат);
Текст = Шапка + Символы.ПС + Символы.ПС;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
Текст = Текст + ОписаниеОшибки
+ Символы.ПС
+ Символы.ПС
+ "---------------------------------"
+ Символы.ПС
+ Символы.ПС ;
КонецЕсли;
Текст = Текст
+ Данные
+ Символы.ПС
+ Символы.ПС
+ "---------------------------------"
+ Символы.ПС;
Сообщить(Текст);
Возврат Текст;
КонецФункции
Функция РезультатТестаКакТекст(Знач Результат)
Попытка
Данные = OPI_Инструменты.JSONСтрокой(Результат);
Исключение
Данные = Строка(Результат);
КонецПопытки;
Данные = СокрЛП(Данные);
Возврат Данные;
КонецФункции
Функция ЭтоТестCLI()
// !OInt Данные = ПолучитьПеременнуюСреды("OINT_TESTS_CLI");
Данные = Константы.ЭтоТестыCLI.Получить(); // !OPI
Если Строка(Данные) = "1" Тогда
Результат = Истина;
Иначе
Результат = Ложь;
КонецЕсли;
Возврат Результат;
КонецФункции
Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел)
НовыйТест = ТаблицаЗначений.Добавить();
@@ -11860,65 +11940,6 @@
КонецПроцедуры
Функция ВывестиЛог(Знач Результат, Знач Метод, Знач Библиотека, Знач ОписаниеОшибки = Неопределено)
Шапка = Строка(OPI_Инструменты.ПолучитьТекущуюДату()) + " | " + Метод;
Данные = РезультатТестаКакТекст(Результат);
Текст = Шапка + Символы.ПС + Символы.ПС;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
Текст = Текст + ОписаниеОшибки
+ Символы.ПС
+ Символы.ПС
+ "---------------------------------"
+ Символы.ПС
+ Символы.ПС ;
КонецЕсли;
Текст = Текст
+ Данные
+ Символы.ПС
+ Символы.ПС
+ "---------------------------------"
+ Символы.ПС;
Сообщить(Текст);
Возврат Текст;
КонецФункции
Функция ВывестиСлужебнуюИнформацию(Знач Текст, Знач Примечание, Знач Библиотека) Экспорт
ШаблонТекста = "
|--!!!---------%1----------!!!--
|
|%2
|
|%3
|
|---------------------------------";
Сообщить(СтрШаблон(ШаблонТекста, Библиотека, Примечание, Текст));
КонецФункции
Функция РезультатТестаКакТекст(Знач Результат)
Попытка
Данные = OPI_Инструменты.JSONСтрокой(Результат);
Исключение
Данные = Строка(Результат);
КонецПопытки;
Данные = СокрЛП(Данные);
Возврат Данные;
КонецФункции
Процедура ЗаписатьФайлЛога(Знач Данные, Знач Метод, Знач Библиотека, Знач Перезаписывать = Истина)
Если Не OPI_Инструменты.ЭтоOneScript() Тогда
@@ -12082,3 +12103,5 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -2997,6 +2997,11 @@
, ДопПараметр2 = Неопределено
, ДопПараметр3 = Неопределено)
CLITestsMark = 0;
Константы.ЭтоТестыCLI.Установить(CLITestsMark); // !OPI
// !OInt УстановитьПеременнуюСреды("OINT_TESTS_CLI", CLITestsMark);
OPI_ПолучениеДанныхТестов.ОбработатьРезультатТестирования(Результат
, Метод
, Библиотека

View File

@@ -2992,6 +2992,11 @@
, ДопПараметр2 = Неопределено
, ДопПараметр3 = Неопределено)
CLITestsMark = 1;
Константы.ЭтоТестыCLI.Установить(CLITestsMark); // !OPI
// !OInt УстановитьПеременнуюСреды("OINT_TESTS_CLI", CLITestsMark);
OPI_ПолучениеДанныхТестов.ОбработатьРезультатТестирования(Результат
, Метод
, Библиотека