Skip to content

Commit 8dcb810

Browse files
committed
Отчет тестирования в формате JUnit генерится только при указании опции xddReportPath ПутьЛогФайла в командной строке #90
Доработан шаблон сборки проекта
1 parent df61370 commit 8dcb810

File tree

3 files changed

+51
-15
lines changed

3 files changed

+51
-15
lines changed

BuildAll.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136

137137
<Delete Files="@(RemoveXMLTestResult)" />
138138

139-
<Exec WorkingDirectory="$(MSBuildProjectDirectory)\tests" Command="$(OutputPathForDist)\oscript.exe $(MSBuildProjectDirectory)\tests\testrunner.os -run %(TestFiles.FullPath)" IgnoreExitCode="true"/>
139+
<Exec WorkingDirectory="$(MSBuildProjectDirectory)\tests" Command="$(OutputPathForDist)\oscript.exe $(MSBuildProjectDirectory)\tests\testrunner.os -run %(TestFiles.FullPath) xddReportPath ." IgnoreExitCode="true"/>
140140

141141
</Target>
142142

tests/testrunner.os

+25-14
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
Перем НаборТестов;
1010
Перем РезультатТестирования;
1111

12+
Перем ПутьЛогФайлаJUnit;
13+
1214
Перем НомерТестаДляЗапуска;
1315
Перем НаименованиеТестаДляЗапуска;
1416

@@ -152,14 +154,15 @@
152154
//}
153155

154156
Функция ПолучитьПараметрыЗапуска(МассивПараметров) Экспорт
157+
Перем ПутьЛогФайла;
155158

156159
Если МассивПараметров.Количество() = 0 Тогда
157160
Возврат Неопределено;
158161
КонецЕсли;
159162

160163
НомерТестаДляЗапуска = Неопределено;
161164
НаименованиеТестаДляЗапуска = Неопределено;
162-
ПутьЛогФайлаJUnit = Неопределено;
165+
ПутьЛогФайла = Неопределено;
163166

164167
НомерПараметраПутьКТестам = -1;
165168

@@ -180,17 +183,19 @@
180183

181184
Если КомандаЗапуска = СтруктураПараметровЗапуска.Запустить Тогда
182185
путьКТестам = МассивПараметров[НомерПараметраПутьКТестам];
183-
Если МассивПараметров.Количество() > НомерПараметраПутьКТестам+1 Тогда
186+
НомерОчередногоПараметра = НомерОчередногоПараметра + 1;
187+
Если МассивПараметров.Количество() > НомерОчередногоПараметра Тогда
184188
НомерОчередногоПараметра = НомерПараметраПутьКТестам+1;
185189
ИД_Теста = МассивПараметров[НомерОчередногоПараметра];
186-
187-
Если ВСтрокеСодержатсяТолькоЦифры(ИД_Теста) Тогда
188-
НомерТестаДляЗапуска = Число(ИД_Теста);
189-
Иначе
190-
НаименованиеТестаДляЗапуска = ИД_Теста;
190+
191+
Если НРег(ИД_Теста) <> СтруктураПараметровЗапуска.Режим_ПутьЛогФайла Тогда
192+
Если ВСтрокеСодержатсяТолькоЦифры(ИД_Теста) Тогда
193+
НомерТестаДляЗапуска = Число(ИД_Теста);
194+
Иначе
195+
НаименованиеТестаДляЗапуска = ИД_Теста;
196+
КонецЕсли;
191197
КонецЕсли;
192198
КонецЕсли;
193-
НомерОчередногоПараметра = НомерОчередногоПараметра + 1;
194199
ИначеЕсли КомандаЗапуска = СтруктураПараметровЗапуска.ЗапуститьКаталог Тогда
195200
путьКТестам = МассивПараметров[НомерПараметраПутьКТестам];
196201
НомерОчередногоПараметра = НомерОчередногоПараметра + 1;
@@ -201,7 +206,7 @@
201206
Если Режим = СтруктураПараметровЗапуска.Режим_ПутьЛогФайла Тогда
202207
Если МассивПараметров.Количество() > НомерОчередногоПараметра+1 Тогда
203208
НомерОчередногоПараметра = НомерОчередногоПараметра+1;
204-
ПутьЛогФайлаJUnit = МассивПараметров[НомерОчередногоПараметра];
209+
ПутьЛогФайла = МассивПараметров[НомерОчередногоПараметра];
205210
КонецЕсли;
206211
КонецЕсли;
207212
КонецЕсли;
@@ -211,7 +216,7 @@
211216
ПараметрыЗапуска.Вставить("ПутьКТестам", путьКТестам);
212217
ПараметрыЗапуска.Вставить("НаименованиеТестаДляЗапуска", НаименованиеТестаДляЗапуска);
213218
ПараметрыЗапуска.Вставить("НомерТестаДляЗапуска", НомерТестаДляЗапуска);
214-
ПараметрыЗапуска.Вставить("ПутьЛогФайлаJUnit", ПутьЛогФайлаJUnit);
219+
ПараметрыЗапуска.Вставить("ПутьЛогФайлаJUnit", ПутьЛогФайла);
215220

216221
Возврат ПараметрыЗапуска;
217222
КонецФункции
@@ -226,6 +231,7 @@
226231
путьКТестам = ПараметрыЗапуска.путьКТестам;
227232
НомерТестаДляЗапуска = ПараметрыЗапуска.НомерТестаДляЗапуска;
228233
НаименованиеТестаДляЗапуска = ПараметрыЗапуска.НаименованиеТестаДляЗапуска;
234+
ПутьЛогФайлаJUnit = ПараметрыЗапуска.ПутьЛогФайлаJUnit;
229235

230236
Файл = Новый Файл(путьКТестам);
231237
Если Не Файл.Существует() Тогда
@@ -373,8 +379,11 @@
373379
НаборНереализованныхТестов = Новый Соответствие;
374380
ДатаНачала = ТекущаяДата();
375381

376-
ЗаписьXML = Неопределено;
377-
НачатьЗаписьВФайлОтчетаТестированияВФорматеJUnitXML(ЗаписьXML);
382+
СоздаватьОтчетТестированияВФорматеJUnitXML = ЗначениеЗаполнено(ПутьЛогФайлаJUnit);
383+
Если СоздаватьОтчетТестированияВФорматеJUnitXML Тогда
384+
ЗаписьXML = Неопределено;
385+
НачатьЗаписьВФайлОтчетаТестированияВФорматеJUnitXML(ЗаписьXML);
386+
КонецЕсли;
378387

379388
Для Сч = 0 По НаборТестов.Количество() - 1 Цикл
380389
ОписаниеТеста = НаборТестов[Сч];
@@ -393,7 +402,9 @@
393402

394403
ВывестиЛогТестирования();
395404

396-
ЗавершитьЗаписьВФайлОтчетаТестированияВФорматеJUnitXML(ЗаписьXML, ДатаНачала);
405+
Если СоздаватьОтчетТестированияВФорматеJUnitXML Тогда
406+
ЗавершитьЗаписьВФайлОтчетаТестированияВФорматеJUnitXML(ЗаписьXML, ДатаНачала);
407+
КонецЕсли;
397408
КонецЕсли;
398409
КонецФункции
399410

@@ -522,7 +533,7 @@
522533
КонецПроцедуры
523534

524535
Функция ПутьФайлаОтчетаТестированияВФорматеJUnitXML()
525-
Возврат ТекущийКаталог();
536+
Возврат ?(ЗначениеЗаполнено(ПутьЛогФайлаJUnit), ПутьЛогФайлаJUnit, ТекущийКаталог());
526537
КонецФункции
527538

528539
Функция ИмяТекущегоТеста(ПолныйПуть)

tests/tests-cmd-line.os

+25
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
СписокТестов = Новый Массив;
1313
СписокТестов.Добавить("ТестДолжен_ОбработатьПустойПараметрТестирования");
1414
СписокТестов.Добавить("ТестДолжен_ОбработатьТиповыеПараметрыТестированияОдногоСкрипта");
15+
СписокТестов.Добавить("ТестДолжен_ОбработатьПараметрыТестированияОдногоТестаИУказанииПутиЛогФайлаJUnit");
1516
СписокТестов.Добавить("ТестДолжен_ОбработатьПараметрТестированияОдногоСкрипта_БезКомандыЗапустить");
1617
СписокТестов.Добавить("ТестДолжен_ОбработатьПараметрыТестированияОдногоТестаПоИмени");
1718
СписокТестов.Добавить("ТестДолжен_ОбработатьПараметрыТестированияОдногоТестаПоИмени_БезКомандыЗапустить");
@@ -76,6 +77,30 @@
7677

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

80+
Процедура ТестДолжен_ОбработатьПараметрыТестированияОдногоТестаИУказанииПутиЛогФайлаJUnit() Экспорт
81+
ПутьТестов = "test1.os";
82+
ПутьЛогФайла = "f:\tests";
83+
84+
МассивПараметров = Новый Массив;
85+
МассивПараметров.Добавить("-run");
86+
МассивПараметров.Добавить(ПутьТестов);
87+
МассивПараметров.Добавить("xddReportPath");
88+
МассивПараметров.Добавить(ПутьЛогФайла);
89+
90+
ПараметрыЗапуска = РазобратьПараметрыЗапуска(МассивПараметров);
91+
92+
ЮТест.ПроверитьРавенство(Тип("Структура"), ТипЗнч(ПараметрыЗапуска), "ТипЗнч(ПараметрыЗапуска)");
93+
ЮТест.ПроверитьЗаполненность(СтруктураПараметровЗапуска, "СтруктураПараметровЗапуска заполненность");
94+
ЮТест.ПроверитьРавенство(ПараметрыЗапуска.Команда, СтруктураПараметровЗапуска.Запустить, "ПараметрыЗапуска.Команда");
95+
96+
ЮТест.ПроверитьРавенство(ПутьТестов, ПараметрыЗапуска.ПутьКТестам, "ПараметрыЗапуска.ПутьКТестам");
97+
ЮТест.ПроверитьРавенство(ПутьЛогФайла, ПараметрыЗапуска.ПутьЛогФайлаJUnit, "ПараметрыЗапуска.ПутьЛогФайлаJUnit");
98+
99+
ЮТест.ПроверитьРавенство(Неопределено, ПараметрыЗапуска.НаименованиеТестаДляЗапуска, "ПараметрыЗапуска.НаименованиеТестаДляЗапуска");
100+
ЮТест.ПроверитьРавенство(Неопределено, ПараметрыЗапуска.НомерТестаДляЗапуска, "ПараметрыЗапуска.НомерТестаДляЗапуска");
101+
102+
КонецПроцедуры
103+
79104
Процедура ТестДолжен_ОбработатьПараметрыТестированияОдногоТестаПоИмени() Экспорт
80105
ПутьТестов = "test1.os";
81106
ИмяТеста = "Тест1";

0 commit comments

Comments
 (0)