1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-11-27 08:31:11 +02:00
* Запись кода возврата
* Вывел путь к файлу кода возврата в форму настроек
* Описание
This commit is contained in:
alkoleft 2023-04-06 02:35:47 +03:00
parent 39ac92e298
commit 666c71cb50
12 changed files with 229 additions and 44 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -12,6 +12,7 @@
| `closeAfterTests` | `Boolean` | `True` | Признак закрытия 1С:Предприятие по завершению тестирования |
| `showReport` | `Boolean` | `True` | Открыть форму отчета завершению тестирования |
| `logging` | `Object` | [Object, смотрите ниже](#параметры-логирования) | Параметры логирования, подробнее ниже |
| `exitCode` | `String` | `""` | Путь к файлу, в который будет записан признак успешного выполнения (0 - успешно, 1 - есть ошибки) |
## Параметры фильтрации

View File

@ -32,7 +32,7 @@
Процедура ВыполнитьМодульноеТестирование(Параметры = Неопределено) Экспорт
Если Параметры = Неопределено Тогда
Параметры = ЮТПараметры.ПараметрыЗапуска(ПараметрЗапуска);
Параметры = ЮТПараметрыЗапуска.ПараметрыЗапуска(ПараметрЗапуска);
КонецЕсли;
Если НЕ Параметры.ВыполнятьМодульноеТестирование Тогда
@ -78,6 +78,8 @@
ЮТОтчет.СформироватьОтчет(РезультатыТестирования, Параметры);
ЗаписатьКодВозврата(РезультатыТестирования, Параметры);
Если Параметры.showReport Тогда
ПоказатьОтчет(РезультатыТестирования, Параметры);
ИначеЕсли Параметры.CloseAfterTests Тогда
@ -289,7 +291,9 @@
КонецФункции
Функция ЕстьОшибки(Объект)
Возврат ЗначениеЗаполнено(Объект.Ошибки);
КонецФункции
Процедура ВыполнитьТестовыйМетод(Тест)
@ -371,4 +375,49 @@
КонецПроцедуры
#КонецЕсли
// Записать код возврата.
//
// Параметры:
// РезультатыТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
// Параметры - см. ЮТФабрика.ПараметрыЗапуска
Процедура ЗаписатьКодВозврата(РезультатыТестирования, Параметры)
Успешно = Истина;
Если ПустаяСтрока(Параметры.exitCode) Тогда
Возврат;
КонецЕсли;
Для Каждого Набор Из РезультатыТестирования Цикл
Если ЕстьОшибки(Набор) Тогда
Успешно = Ложь;
Прервать;
КонецЕсли;
Для Каждого Тест Из Набор.Тесты Цикл
Если ЕстьОшибки(Тест) Тогда
Успешно = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если НЕ Успешно Тогда
Прервать;
КонецЕсли;
КонецЦикла;
#Если ВебКлиент Тогда
ЮТОбщий.МетодНеДоступен("ЮТИсполнитель.ЗаписатьКодВозврата");
#Иначе
Запись = Новый ЗаписьТекста(Параметры.exitCode, КодировкаТекста.UTF8);
Запись.ЗаписатьСтроку(?(Успешно, 0, 1));
Запись.Закрыть();
#КонецЕсли
КонецПроцедуры
#КонецОбласти

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a0e947cd-ee15-4ae9-bf95-21ed64042227">
<name>ЮТПараметры</name>
<name>ЮТПараметрыЗапуска</name>
<synonym>
<key>ru</key>
<value>Параметры</value>

View File

@ -271,7 +271,7 @@
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции;
Возврат ЮТПараметры.ЗначениеНастройкиТеста(ИмяПараметра, ОписаниеСобытия.Тест, ОписаниеСобытия.Набор, Ложь);
Возврат ЮТПараметрыЗапуска.ЗначениеНастройкиТеста(ИмяПараметра, ОписаниеСобытия.Тест, ОписаниеСобытия.Набор, Ложь);
КонецФункции

View File

@ -346,6 +346,8 @@
// * reportFormat - Строка - Формат отчета о тестировании.
// Модули реализующие различные форматы отчетов собраны в подсистеме ЮТФормированиеОтчета
// * logging - см. ПараметрыЛогирования
// * showReport - Булево - Признак необходмости отобразить отчет в 1с по окончании тестирования
// * exitCode - Строка - Путь к файлу, в который будет записан коды выхода
Функция ПараметрыЗапуска() Экспорт
Параметры = Новый Структура;
@ -359,6 +361,7 @@
Параметры.Вставить("reportFormat", "jUnit");
Параметры.Вставить("showReport", Ложь);
Параметры.Вставить("logging", ПараметрыЛогирования());
Параметры.Вставить("exitCode", "");
Возврат Параметры;

View File

@ -57,7 +57,7 @@
<commonModules>CommonModule.ЮТОтчет</commonModules>
<commonModules>CommonModule.ЮТОтчетJSON</commonModules>
<commonModules>CommonModule.ЮТОтчетJUnit</commonModules>
<commonModules>CommonModule.ЮТПараметры</commonModules>
<commonModules>CommonModule.ЮТПараметрыЗапуска</commonModules>
<commonModules>CommonModule.ЮТПовторногоИспользования</commonModules>
<commonModules>CommonModule.ЮТРасширения</commonModules>
<commonModules>CommonModule.ЮТРегистрацияОшибок</commonModules>

View File

@ -457,20 +457,130 @@
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<items xsi:type="form:FormField">
<name>ВыводЛога</name>
<id>66</id>
<items xsi:type="form:FormGroup">
<name>ГруппаФайлы</name>
<id>75</id>
<items xsi:type="form:FormField">
<name>ВыводЛога</name>
<id>66</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИмяФайлаЛога</segments>
</dataPath>
<extendedTooltip>
<name>ВыводЛогаРасширеннаяПодсказка</name>
<id>68</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>
<contextMenu>
<name>ВыводЛогаКонтекстноеМеню</name>
<id>67</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ВыводЛогаНачалоВыбора</name>
</handlers>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<clearButton>true</clearButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ИмяФайлаКодаВозврата</name>
<id>72</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИмяФайлаКодаВозврата</segments>
</dataPath>
<extendedTooltip>
<name>ИмяФайлаКодаВозвратаРасширеннаяПодсказка</name>
<id>74</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>
<contextMenu>
<name>ИмяФайлаКодаВозвратаКонтекстноеМеню</name>
<id>73</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ИмяФайлаКодаВозвратаНачалоВыбора</name>
</handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<clearButton>true</clearButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИмяФайлаЛога</segments>
</dataPath>
<title>
<key>ru</key>
<value>Вывод в файл</value>
</title>
<extendedTooltip>
<name>ВыводЛогаРасширеннаяПодсказка</name>
<id>68</id>
<name>ГруппаФайлыРасширеннаяПодсказка</name>
<id>76</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@ -483,33 +593,15 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВыводЛогаКонтекстноеМеню</name>
<id>67</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ВыводЛогаНачалоВыбора</name>
</handlers>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<clearButton>true</clearButton>
<openButton>true</openButton>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>true</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>DontUse</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
@ -926,7 +1018,7 @@
<name>ИмяФайлаЛога</name>
<title>
<key>ru</key>
<value>Вывод отладочных сообщений в файл</value>
<value>Отладочные сообщения</value>
</title>
<id>61</id>
<valueType>
@ -963,6 +1055,24 @@
<segments>ОтобразитьОтчет</segments>
</settingsSavedData>
</attributes>
<attributes>
<name>ИмяФайлаКодаВозврата</name>
<title>
<key>ru</key>
<value>Код возврата</value>
</title>
<id>64</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>УстановитьФлажки</name>
<title>

View File

@ -64,6 +64,13 @@
КонецПроцедуры
&НаКлиенте
Процедура ИмяФайлаКодаВозвратаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ВыбратьФайл("All files(*.*)|*.*", ИмяФайлаЛога, Новый ОписаниеОповещения("УстановитьИмяФайлаКодаВозврата", ЭтотОбъект));
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоТестов
@ -290,7 +297,7 @@
&НаКлиенте
Процедура ОбновитьСтрокуЗапуска()
ПараметрыЗапускаЮнитТестов = СтрШаблон("%1=%2", ЮТПараметры.КлючЗапуска(), ФайлКонфигурации);
ПараметрыЗапускаЮнитТестов = СтрШаблон("%1=%2", ЮТПараметрыЗапуска.КлючЗапуска(), ФайлКонфигурации);
Если ЗапускИзКонфигуратор Тогда
@ -359,6 +366,15 @@
КонецПроцедуры
&НаКлиенте
Процедура УстановитьИмяФайлаКодаВозврата(ВыбранныйФайл, ДополнительныеПараметры) Экспорт
Если ВыбранныйФайл <> Неопределено Тогда
ИмяФайлаКодаВозврата = ВыбранныйФайл;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьФайл(Фильтр, ИмяФайла, Оповещение)
@ -389,13 +405,19 @@
ВызватьИсключение "Сохранение конфигурации из веб-клиента не поддерживается";
#Иначе
Конфигурация = ЮТФабрика.ПараметрыЗапуска();
Конфигурация.Удалить("ВыполнятьМодульноеТестирование");
Конфигурация.showReport = ОтобразитьОтчет;
Конфигурация.closeAfterTests = Истина;
Конфигурация.reportPath = ЮТОбщий.Каталог(ФайлКонфигурации);
Конфигурация.Удалить("ВыполнятьМодульноеТестирование");
Конфигурация.logging.enable = ЗначениеЗаполнено(ИмяФайлаЛога);
Конфигурация.logging.file = ИмяФайлаЛога;
Если ЗначениеЗаполнено(ИмяФайлаКодаВозврата) Тогда
Конфигурация.exitCode = ИмяФайлаКодаВозврата;
КонецЕсли;
Если НЕ (УстановленФильтрПоРасширению(Конфигурация) ИЛИ УстановленФильтрПоМодулям(Конфигурация)) Тогда
УстановитьФильтрПоТестам(Конфигурация);
КонецЕсли;

View File

@ -29,7 +29,7 @@
<content>CommonModule.ЮТОтчет</content>
<content>CommonModule.ЮТОтчетJSON</content>
<content>CommonModule.ЮТОтчетJUnit</content>
<content>CommonModule.ЮТПараметры</content>
<content>CommonModule.ЮТПараметрыЗапуска</content>
<content>CommonModule.ЮТПовторногоИспользования</content>
<content>CommonModule.ЮТРасширения</content>
<content>CommonModule.ЮТРегистрацияОшибок</content>

View File

@ -93,7 +93,7 @@
Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска);
ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests")
.ИмеетДлину(12);
.ИмеетДлину(13);
КонецПроцедуры