Skip to content

Commit

Permalink
draft: запуск тестов из редактора
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed Dec 19, 2024
1 parent d7131bd commit 90122de
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,19 @@
Процедура ВызватьСледующийОбработчик(ПараметрыИсполнения, Результат = Неопределено) Экспорт

Обработчик = СледующийОбработчик(ПараметрыИсполнения);
ЮТЛогирование.Отладка("Вызов обработчика исполнителя: " + Обработчик.ИмяПроцедуры);
ВызватьОбработчик(Обработчик, Результат);
Если Обработчик <> Неопределено Тогда
ЮТЛогирование.Отладка("Вызов обработчика исполнителя: " + Обработчик.ИмяПроцедуры);
ВызватьОбработчик(Обработчик, Результат);
КонецЕсли;

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

Функция СледующийОбработчик(ПараметрыИсполнения) Экспорт

ПараметрыИсполнения.ИндексСледующегоОбработчика = ПараметрыИсполнения.ИндексСледующегоОбработчика + 1;
Обработчик = ПараметрыИсполнения.Цепочка[ПараметрыИсполнения.ИндексСледующегоОбработчика];
Если ПараметрыИсполнения.ИндексСледующегоОбработчика < ПараметрыИсполнения.Цепочка.Количество() Тогда
Обработчик = ПараметрыИсполнения.Цепочка[ПараметрыИсполнения.ИндексСледующегоОбработчика];
КонецЕсли;

Возврат Обработчик;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
Сообщение.Значение = ЮТОбщий.ЗначениеИзJSON(ЭлементHTML["value"]);
КонецЕсли;

ЮТЛогирование.Отладка(СтрШаблон("Получено %1(%2): %3", Сообщение.ИмяСобытия, Сообщение.Ид, ЭлементHTML["value"]));
Сообщить(СтрШаблон("Получено %1(%2): %3", Сообщение.ИмяСобытия, Сообщение.Ид, ЭлементHTML["value"]));

ВыполнитьОбработкуОповещения(Обработчик, Сообщение);
КонецЕсли;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,40 @@
&НаКлиенте
Процедура ЗапуститьТесты(Сообщение)

Результат = Новый Структура("success", Истина);
ПараметрыИсполнения = ЮТИсполнительСлужебныйКлиент.ПараметрыИсполнения();
ПараметрыИсполнения.АргументыЗапуска = ЮТПараметрыЗапускаСлужебный.ПараметрыТестированияПоУмолчанию();
ЮТИсполнительСлужебныйКлиент.ОбработчикИнициализация(, ПараметрыИсполнения);
Сценарии = ЮТКоллекции.ЗначениеВМассиве(Сценарии(Сообщение.Значение.method, Сообщение.Значение.module));

ЮТИсполнительСлужебныйКлиент.ОбработчикСформироватьИсполняемыеТесты(Сценарии, ПараметрыИсполнения);

Обработчик = Новый ОписаниеОповещения("ПослеВыполненияТестирования", ЭтотОбъект, Сообщение);
ЮТИсполнительСлужебныйКлиент.ВыполнитьТестовыеМодули(ПараметрыИсполнения.АргументыЗапуска, ПараметрыИсполнения.ИсполняемыеТестовыеМодули, Обработчик);

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

ЮТРеактивныйКлиент.ОтправитьОтвет(Элементы.EditorURL, Сообщение, Результат);
&НаКлиенте
Процедура ПослеВыполненияТестирования(Результат, Сообщение) Экспорт

Ответ = Новый Массив;

Для Каждого Набор Из Результат[0].НаборыТестов Цикл
Для Каждого Тест Из Набор.Тесты Цикл

ОписаниеТеста = Новый Структура;
ОписаниеТеста.Вставить("status", Тест.Статус);
ОписаниеТеста.Вставить("present", Тест.Имя);
ОписаниеТеста.Вставить("method", Тест.Метод);
ОписаниеТеста.Вставить("duration", Тест.Длительность);
ОписаниеТеста.Вставить("message", "");
ОписаниеТеста.Вставить("trace", "");

Ответ.Добавить(ОписаниеТеста);

КонецЦикла;
КонецЦикла;

ЮТРеактивныйКлиент.ОтправитьОтвет(Элементы.EditorURL, Сообщение, Ответ);

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

Expand All @@ -85,4 +116,34 @@

КонецФункции

&НаСервереБезКонтекста
Функция Сценарии(Знач Метод, Знач ТекстМодуля)

ИмяОбработки = ИмяВременнойОбработки(ТекстМодуля);
Обработка = ВнешниеОбработки.Создать(ИмяОбработки);

Возврат СценарииОбработки(Обработка, Метод);

КонецФункции

&НаСервереБезКонтекста
Функция СценарииОбработки(Обработка, Метод)

МетаданныеОбработки = ЮТМетаданныеСлужебныйВызовСервера.МетаданныеОбработки(Обработка, Истина);
ЮТФильтрацияСлужебный.УстановитьКонтекст(Новый Структура("filter", Новый Структура));//("tests", ЮТКоллекции.ЗначениеВМассиве(Метод))));

Возврат ЮТЧитательСлужебный.ИсполняемыеСценарииОбъекта(Обработка, МетаданныеОбработки);

КонецФункции

&НаСервереБезКонтекста
Функция ИмяВременнойОбработки(ТекстМодуля)

ИмяФайлаОбработки = ЮТВнешниеОбработкиСлужебныйСервер.СкомпилироватьВнешнююОбработку(ТекстМодуля);
Данные = Новый ДвоичныеДанные(ИмяФайлаОбработки);
УдалитьФайлы(ИмяФайлаОбработки);

Возврат ВнешниеОбработки.Подключить(ПоместитьВоВременноеХранилище(Данные));

КонецФункции
#КонецОбласти
2 changes: 1 addition & 1 deletion fixtures/demo-configuration/DT-INF/PROJECT.PMF
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.10
Runtime-Version: 8.3.24
Product-Version: 1.8.0
Store-Version: 1.0.0
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="b8df29d7-0e21-419d-b132-cd99c709210a"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="2a793120-c7a1-422e-b404-b0f78b87b1b5"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c7b02cf7-645c-471f-a7d9-81b0d59ca319"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="5a2019b4-0318-45ff-bb33-434c4d019855"/>
<configurationExtensionCompatibilityMode>8.3.21</configurationExtensionCompatibilityMode>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
Expand Down Expand Up @@ -54,7 +55,7 @@
<objectAutonumerationMode>NotAutoFree</objectAutonumerationMode>
<modalityUseMode>DontUse</modalityUseMode>
<synchronousExtensionAndAddInCallUseMode>DontUse</synchronousExtensionAndAddInCallUseMode>
<compatibilityMode>8.3.10</compatibilityMode>
<compatibilityMode>8.3.24</compatibilityMode>
<defaultConstantsForm>CommonForm.ОбщиеНастройки</defaultConstantsForm>
<languages uuid="d5fb342e-0c73-4410-8517-8ce7ee20e8bd">
<name>Русский</name>
Expand Down

0 comments on commit 90122de

Please sign in to comment.