Skip to content

Commit df61370

Browse files
committed
Заготовка для обработки опции xddReportPath в командной строке #90
Добавлена тесты разбора командной строки тестирования
1 parent cf2a088 commit df61370

File tree

2 files changed

+288
-10
lines changed

2 files changed

+288
-10
lines changed

tests/testrunner.os

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134

135135
//}
136136

137-
//{ Выполнение тестов - экспортные методы для файла-запускателя start.os
137+
//{ Выполнение тестов - экспортные методы
138138

139139
Процедура ВыполнитьТесты(МассивПараметров) Экспорт
140140
Инициализация();
@@ -151,14 +151,15 @@
151151

152152
//}
153153

154-
Функция ПолучитьПараметрыЗапуска(МассивПараметров)
154+
Функция ПолучитьПараметрыЗапуска(МассивПараметров) Экспорт
155155

156156
Если МассивПараметров.Количество() = 0 Тогда
157157
Возврат Неопределено;
158158
КонецЕсли;
159159

160160
НомерТестаДляЗапуска = Неопределено;
161161
НаименованиеТестаДляЗапуска = Неопределено;
162+
ПутьЛогФайлаJUnit = Неопределено;
162163

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

@@ -175,31 +176,42 @@
175176
НомерПараметраПутьКТестам = 0;
176177
КонецЕсли;
177178

179+
НомерОчередногоПараметра = НомерПараметраПутьКТестам;
180+
178181
Если КомандаЗапуска = СтруктураПараметровЗапуска.Запустить Тогда
179182
путьКТестам = МассивПараметров[НомерПараметраПутьКТестам];
180183
Если МассивПараметров.Количество() > НомерПараметраПутьКТестам+1 Тогда
181-
ИД_Теста = МассивПараметров[НомерПараметраПутьКТестам+1];
184+
НомерОчередногоПараметра = НомерПараметраПутьКТестам+1;
185+
ИД_Теста = МассивПараметров[НомерОчередногоПараметра];
182186

183187
Если ВСтрокеСодержатсяТолькоЦифры(ИД_Теста) Тогда
184188
НомерТестаДляЗапуска = Число(ИД_Теста);
185189
Иначе
186190
НаименованиеТестаДляЗапуска = ИД_Теста;
187191
КонецЕсли;
188192
КонецЕсли;
193+
НомерОчередногоПараметра = НомерОчередногоПараметра + 1;
189194
ИначеЕсли КомандаЗапуска = СтруктураПараметровЗапуска.ЗапуститьКаталог Тогда
190195
путьКТестам = МассивПараметров[НомерПараметраПутьКТестам];
196+
НомерОчередногоПараметра = НомерОчередногоПараметра + 1;
191197
КонецЕсли;
192198

193-
Файл = Новый Файл(путьКТестам);
194-
Если Не Файл.Существует() Тогда
195-
ВызватьИсключение "Не найден файл/каталог "+путьКТестам;
199+
Если МассивПараметров.Количество() > НомерОчередногоПараметра и (КомандаЗапуска = СтруктураПараметровЗапуска.Запустить или КомандаЗапуска = СтруктураПараметровЗапуска.ЗапуститьКаталог ) Тогда
200+
Режим = НРег(МассивПараметров[НомерОчередногоПараметра]);
201+
Если Режим = СтруктураПараметровЗапуска.Режим_ПутьЛогФайла Тогда
202+
Если МассивПараметров.Количество() > НомерОчередногоПараметра+1 Тогда
203+
НомерОчередногоПараметра = НомерОчередногоПараметра+1;
204+
ПутьЛогФайлаJUnit = МассивПараметров[НомерОчередногоПараметра];
205+
КонецЕсли;
206+
КонецЕсли;
196207
КонецЕсли;
197208

198209
ПараметрыЗапуска = Новый Структура;
199210
ПараметрыЗапуска.Вставить("Команда", КомандаЗапуска);
200211
ПараметрыЗапуска.Вставить("ПутьКТестам", путьКТестам);
201212
ПараметрыЗапуска.Вставить("НаименованиеТестаДляЗапуска", НаименованиеТестаДляЗапуска);
202213
ПараметрыЗапуска.Вставить("НомерТестаДляЗапуска", НомерТестаДляЗапуска);
214+
ПараметрыЗапуска.Вставить("ПутьЛогФайлаJUnit", ПутьЛогФайлаJUnit);
203215

204216
Возврат ПараметрыЗапуска;
205217
КонецФункции
@@ -214,6 +226,11 @@
214226
путьКТестам = ПараметрыЗапуска.путьКТестам;
215227
НомерТестаДляЗапуска = ПараметрыЗапуска.НомерТестаДляЗапуска;
216228
НаименованиеТестаДляЗапуска = ПараметрыЗапуска.НаименованиеТестаДляЗапуска;
229+
230+
Файл = Новый Файл(путьКТестам);
231+
Если Не Файл.Существует() Тогда
232+
ВызватьИсключение "Не найден файл/каталог "+путьКТестам;
233+
КонецЕсли;
217234

218235
Если КомандаЗапуска = СтруктураПараметровЗапуска.Запустить Тогда
219236
Пути.Добавить(ПутьКТестам);
@@ -222,7 +239,7 @@
222239
ИначеЕсли КомандаЗапуска = СтруктураПараметровЗапуска.ЗапуститьКаталог Тогда
223240
Файлы = НайтиФайлы(ПутьКТестам, "*.os", Истина);
224241
Для Каждого Файл Из Файлы Цикл
225-
Если Файл.ИмяБезРасширения <> "testrunner" И Файл.ИмяБезРасширения <> "start" Тогда
242+
Если Файл.ИмяБезРасширения <> "testrunner" Тогда
226243
Пути.Добавить(Файл.ПолноеИмя);
227244
КонецЕсли;
228245
КонецЦикла;
@@ -254,12 +271,14 @@
254271
Возврат Истина;
255272
КонецФункции
256273

257-
Процедура СоздатьСтруктуруПараметровЗапуска()
274+
Функция СоздатьСтруктуруПараметровЗапуска() Экспорт
258275
СтруктураПараметровЗапуска = Новый Структура;
259276
СтруктураПараметровЗапуска.Вставить("Запустить", НРег("-run"));
260277
СтруктураПараметровЗапуска.Вставить("ЗапуститьКаталог", НРег("-runall"));
261278
СтруктураПараметровЗапуска.Вставить("ПоказатьСписок", НРег("-show"));
262-
КонецПроцедуры
279+
СтруктураПараметровЗапуска.Вставить("Режим_ПутьЛогФайла", НРег("xddReportPath"));
280+
Возврат СтруктураПараметровЗапуска;
281+
КонецФункции
263282

264283
Функция ЗагрузитьТесты()
265284
Перем НомерТестаСохр;
@@ -747,7 +766,7 @@
747766
Возврат Символы.ПС + ДопСообщениеОшибки;
748767
КонецФункции
749768

750-
Функция ВСтрокеСодержатсяТолькоЦифры(Знач ИсходнаяСтрока)
769+
Функция ВСтрокеСодержатсяТолькоЦифры(Знач ИсходнаяСтрока) Экспорт
751770

752771
рез = Ложь;
753772
ДлинаСтроки = СтрДлина(ИсходнаяСтрока);
@@ -757,6 +776,7 @@
757776
рез = Истина;
758777
Иначе
759778
рез = Ложь;
779+
Прервать;
760780
КонецЕсли;
761781
КонецЦикла;
762782
Возврат рез;

0 commit comments

Comments
 (0)