1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-03-17 20:48:01 +02:00

Реализован запуск тестов по статусам

This commit is contained in:
alkoleft 2023-08-04 02:14:46 +03:00
parent 0896c19374
commit 7a81596068
3 changed files with 165 additions and 112 deletions

View File

@ -94,7 +94,8 @@
Если ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Булево") Тогда
Параметры.ВыполнятьМодульноеТестирование = ЗначениеКлючаЗапуска;
Возврат Параметры;
Параметры.showReport = Истина;
Параметры.closeAfterTests = Ложь;
ИначеЕсли ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Строка") Тогда

View File

@ -3,36 +3,6 @@
<items xsi:type="form:FormGroup">
<name>ОсновнаяКоманднаяПанель</name>
<id>122</id>
<items xsi:type="form:Button">
<name>ФормаСформироватьНастройки</name>
<id>17</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСформироватьНастройкиРасширеннаяПодсказка</name>
<id>115</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СформироватьНастройки</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаЗапуск</name>
<id>140</id>
@ -256,6 +226,36 @@
<representation>Compact</representation>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ФормаСформироватьНастройки</name>
<id>17</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСформироватьНастройкиРасширеннаяПодсказка</name>
<id>115</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СформироватьНастройки</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -1746,11 +1746,15 @@
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.ReportSettings</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>СформироватьНастройки</name>
</handler>
</action>
<representation>TextPicture</representation>
<currentRowUse>DontUse</currentRowUse>
</formCommands>
<formCommands>

View File

@ -119,76 +119,26 @@
&НаКлиенте
Процедура ЗапуститьВсеТесты(Команда)
ПараметрыЗапуска = ПараметрыЗапускаВсехТестов();
ВыполнитьЗапускТестов(ПараметрыЗапуска);
ВыполнитьТестовыеМодули(ИсполняемыеТестовыеМодули);
КонецПроцедуры
&НаКлиенте
Процедура ПерезапуститьУпавшиеТесты(Команда)
ПараметрыЗапуска = ПараметрыЗапускаУпавшихТестов();
ВыполнитьЗапускТестов(ПараметрыЗапуска);
СтатусыИсполненияТеста = ЮТФабрика.СтатусыИсполненияТеста();
Статусы = ЮТОбщий.ЗначениеВМассиве(СтатусыИсполненияТеста.Ошибка, СтатусыИсполненияТеста.Сломан);
Модули = МодулиСоответствующиеСтатусу(Статусы);
ВыполнитьТестовыеМодули(Модули);
КонецПроцедуры
&НаКлиенте
Процедура ЗапуститьВыделенныеТесты(Команда)
ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки;
Если ВыделенныеСтроки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для Каждого Модуль Из ИсполняемыеТестовыеМодули Цикл
НаборыКЗапуску = Новый Массив();
Для Каждого Набор Из Модуль.НаборыТестов Цикл
Если ВыделенныеСтроки.Найти(Набор.Идентификатор) <> Неопределено Тогда
НаборыКЗапуску.Добавить(Набор);
Продолжить;
КонецЕсли;
ТестыКЗапуску = Новый Массив();
Для Каждого Тест Из Набор.Тесты Цикл
Если ВыделенныеСтроки.Найти(Тест.Идентификатор) <> Неопределено Тогда
ТестыКЗапуску.Добавить(Тест);
Продолжить;
КонецЕсли;
КонецЦикла;
Если ТестыКЗапуску.Количество() Тогда
ЗапускаемыйНабор = ЮТОбщий.СкопироватьСтруктуру(Набор);
ЗапускаемыйНабор.Тесты = ТестыКЗапуску;
НаборыКЗапуску.Добавить(ЗапускаемыйНабор);
КонецЕсли;
КонецЦикла;
Если НаборыКЗапуску.Количество() Тогда
ЗапускаемыйМодуль = ЮТОбщий.СкопироватьСтруктуру(Модуль);
ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску;
Результат = ЮТИсполнительКлиент.ВыполнитьТестыМодуля(ЗапускаемыйМодуль);
Для Каждого Набор Из Результат Цикл
Для Каждого Тест Из Набор.Тесты Цикл
Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор);
ОтобразитьРезультатТеста(Строка, Тест, Набор);
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Модули = ВыделенныеТестовыеМодули();
ВыполнитьТестовыеМодули(Модули);
КонецПроцедуры
@ -524,12 +474,129 @@
#Область ЗапускТестов
&НаКлиенте
Процедура ВыполнитьЗапускТестов(ПараметрыЗапуска, Знач Обработчик = Неопределено)
Процедура ВыполнитьТестовыеМодули(Модули)
Если Обработчик = Неопределено Тогда
Обработчик = Новый ОписаниеОповещения("ОбновитьСтатусТестирования", ЭтотОбъект);
Для Каждого Модуль Из Модули Цикл
Результат = ЮТИсполнительКлиент.ВыполнитьТестыМодуля(Модуль);
Для Каждого Набор Из Результат Цикл
Для Каждого Тест Из Набор.Тесты Цикл
Строка = ДеревоТестов.НайтиПоИдентификатору(Тест.Идентификатор);
ОтобразитьРезультатТеста(Строка, Тест, Набор);
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Функция ВыделенныеТестовыеМодули()
МодулиКЗапуску = Новый Массив();
ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки;
Если ВыделенныеСтроки.Количество() = 0 Тогда
Возврат МодулиКЗапуску;
КонецЕсли;
Для Каждого Модуль Из ИсполняемыеТестовыеМодули Цикл
НаборыКЗапуску = Новый Массив();
Для Каждого Набор Из Модуль.НаборыТестов Цикл
Если ВыделенныеСтроки.Найти(Набор.Идентификатор) <> Неопределено Тогда
НаборыКЗапуску.Добавить(Набор);
Продолжить;
КонецЕсли;
ТестыКЗапуску = Новый Массив();
Для Каждого Тест Из Набор.Тесты Цикл
Если ВыделенныеСтроки.Найти(Тест.Идентификатор) <> Неопределено Тогда
ТестыКЗапуску.Добавить(Тест);
КонецЕсли;
КонецЦикла;
Если ТестыКЗапуску.Количество() Тогда
ЗапускаемыйНабор = ЮТОбщий.СкопироватьСтруктуру(Набор);
ЗапускаемыйНабор.Тесты = ТестыКЗапуску;
НаборыКЗапуску.Добавить(ЗапускаемыйНабор);
КонецЕсли;
КонецЦикла;
Если НаборыКЗапуску.Количество() Тогда
ЗапускаемыйМодуль = ЮТОбщий.СкопироватьСтруктуру(Модуль);
ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску;
МодулиКЗапуску.Добавить(ЗапускаемыйМодуль);
КонецЕсли;
КонецЦикла;
Возврат МодулиКЗапуску;
КонецФункции
&НаКлиенте
Функция МодулиСоответствующиеСтатусу(Статусы)
МодулиКЗапуску = Новый Массив();
ВыделенныеСтроки = Элементы.ДеревоТестов.ВыделенныеСтроки;
Если ВыделенныеСтроки.Количество() = 0 Тогда
Возврат МодулиКЗапуску;
КонецЕсли;
Для Каждого Модуль Из ИсполняемыеТестовыеМодули Цикл
НаборыКЗапуску = Новый Массив();
Для Каждого Набор Из Модуль.НаборыТестов Цикл
ТестыКЗапуску = Новый Массив();
Для Каждого Тест Из Набор.Тесты Цикл
Если Статусы.Найти(Тест.Статус) <> Неопределено Тогда
ТестыКЗапуску.Добавить(Тест);
КонецЕсли;
КонецЦикла;
Если ТестыКЗапуску.Количество() Тогда
ЗапускаемыйНабор = ЮТОбщий.СкопироватьСтруктуру(Набор);
ЗапускаемыйНабор.Тесты = ТестыКЗапуску;
НаборыКЗапуску.Добавить(ЗапускаемыйНабор);
КонецЕсли;
КонецЦикла;
Если НаборыКЗапуску.Количество() Тогда
ЗапускаемыйМодуль = ЮТОбщий.СкопироватьСтруктуру(Модуль);
ЗапускаемыйМодуль.НаборыТестов = НаборыКЗапуску;
МодулиКЗапуску.Добавить(ЗапускаемыйМодуль);
КонецЕсли;
КонецЦикла;
Возврат МодулиКЗапуску;
КонецФункции
&НаКлиенте
Процедура ВыполнитьЗапускТестовПоПараметрам(ПараметрыЗапуска, Обработчик)
ЮТИсполнительКлиент.ВыполнитьМодульноеТестированиеПоНастройке(ПараметрыЗапуска, Обработчик);
КонецПроцедуры
@ -550,20 +617,6 @@
КонецФункции
&НаКлиенте
Функция ПараметрыЗапускаВсехТестов()
Возврат ПараметрыЗапуска();
КонецФункции
&НаКлиенте
Функция ПараметрыЗапускаУпавшихТестов()
Возврат ПараметрыЗапуска();
КонецФункции
#КонецОбласти
&НаКлиенте
Процедура ОбновитьДоступностьСравнения()
@ -603,7 +656,7 @@
Обработчик = Новый ОписаниеОповещения("ПослеВыполненияИтерации", ЭтотОбъект, ПараметрыЗамера);
ПараметрыЗамера.НачалоИтерации = ТекущаяУниверсальнаяДатаВМиллисекундах();
ВыполнитьЗапускТестов(ПараметрыЗамера.ПараметрыЗапуска, Обработчик);
ВыполнитьЗапускТестовПоПараметрам(ПараметрыЗамера.ПараметрыЗапуска, Обработчик);
Иначе
@ -631,9 +684,4 @@
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСтатусТестирования(Результат, ПараметрыЗамера) Экспорт
КонецПроцедуры
#КонецОбласти