Skip to content

Commit 68bb242

Browse files
committed
Добавлена команда тестирования
1 parent 771585b commit 68bb242

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/Классы/ДиспетчерКомандПриложения.os

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
Процедура ДобавитьОписанияКоманд(Знач Парсер) Экспорт
88
ДобавитьКомандуBuild(Парсер);
9+
ДобавитьКомандуTest(Парсер);
910
ДобавитьКомандуPrepare(Парсер);
1011
ДобавитьКомандуInstall(Парсер);
1112
ДобавитьКомандуUpdate(Парсер);
@@ -31,6 +32,12 @@
3132
Парсер.ДобавитьКоманду(Команда);
3233
КонецПроцедуры
3334

35+
Процедура ДобавитьКомандуTest(Знач Парсер)
36+
Команда = Парсер.ОписаниеКоманды("test", "Выполнить тестирование разрабатываемого пакета");
37+
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "ПутьКТестРаннеру", "Путь к скрипту-запускателю тестов. Необязательный.");
38+
Парсер.ДобавитьКоманду(Команда);
39+
КонецПроцедуры
40+
3441
Процедура ДобавитьКомандуInstall(Знач Парсер)
3542
Команда = Парсер.ОписаниеКоманды("install", "Выполнить установку. Если указано имя пакета, происходит установка из хаба или из файла. В обратном случае устанавливаются зависимости текущего пакета по файлу packagedef.");
3643
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-f", "Указать файл из которого нужно установить пакет");
@@ -75,6 +82,8 @@
7582
ЗначенияПараметров = ПараметрыКоманды.ЗначенияПараметров;
7683
Если ПараметрыКоманды.Команда = "build" Тогда
7784
ВыполнитьСборку(ЗначенияПараметров["КаталогИсходников"], ЗначенияПараметров["-mf"], ЗначенияПараметров["-out"]);
85+
ИначеЕсли ПараметрыКоманды.Команда = "test" Тогда
86+
ПротестироватьПакет(ЗначенияПараметров["ПутьКТестРаннеру"]);
7887
ИначеЕсли ПараметрыКоманды.Команда = "prepare" Тогда
7988
ПодготовитьКаталогПроекта(ЗначенияПараметров["КаталогСборкиПакета"]);
8089
ИначеЕсли ПараметрыКоманды.Команда = "install" Тогда
@@ -121,6 +130,24 @@
121130

122131
КонецПроцедуры
123132

133+
Процедура ПротестироватьПакет(Знач ПутьКТестРаннеру)
134+
135+
Если НЕ ЗначениеЗаполнено(ПутьКТестРаннеру) Тогда
136+
ПутьКТестРаннеру = ОбъединитьПути(ТекущийКаталог(), "tests", "index.os");
137+
КонецЕсли;
138+
139+
Файл_ТестРаннер = Новый Файл(ПутьКТестРаннеру);
140+
Если НЕ Файл_ТестРаннер.Существует() Тогда
141+
ТекстСообщения = СтрШаблон("Не найден тестраннер: %1", Файл_ТестРаннер.ПолноеИмя);
142+
ВызватьИсключение ТекстСообщения;
143+
КонецЕсли;
144+
145+
Контекст = Новый Структура;
146+
ТестРаннер = ЗагрузитьСценарий(ПутьКТестРаннеру, Контекст);
147+
ТестРаннер.Запустить();
148+
149+
КонецПроцедуры
150+
124151
Процедура ОбновитьПакет(Знач ЗначенияПараметров) Экспорт
125152

126153
Установщик = Новый УстановкаПакета;

0 commit comments

Comments
 (0)