1+ #Использовать coverage
12#Использовать 1commands
2- #Использовать asserts
3- #Использовать fs
4- #Использовать json
5-
6- СистемнаяИнформация = Новый СистемнаяИнформация;
7- ЭтоWindows = Найти (НРег (СистемнаяИнформация.ВерсияОС), "windows" ) > 0 ;
83
94ФС.ОбеспечитьПустойКаталог("coverage" );
105ПутьКСтат = "coverage/stat.json" ;
116
127Команда = Новый Команда;
138Команда.УстановитьКоманду("oscript" );
14- Если НЕ ЭтоWindows Тогда
15- Команда.ДобавитьПараметр("-encoding=utf-8" );
16- КонецЕсли ;
9+ Команда.ДобавитьПараметр("-encoding=utf-8" );
1710Команда.ДобавитьПараметр(СтрШаблон ("-codestat=%1" , ПутьКСтат));
1811Команда.ДобавитьПараметр("tasks/test.os" );
1912Команда.ПоказыватьВыводНемедленно(Истина );
2013
2114КодВозврата = Команда.Исполнить();
2215
2316Файл_Стат = Новый Файл(ПутьКСтат);
24- Ожидаем.Что(Файл_Стат.Существует(), СтрШаблон ("Файл <%1> с результатами покрытия не существует!" , Файл_Стат.ПолноеИмя)).ЭтоИстина();
25-
26- ЧтениеТекста = Новый ЧтениеТекста(ПутьКСтат, КодировкаТекста.UTF8);
27-
28- СтрокаJSON = ЧтениеТекста.Прочитать();
29- ЧтениеТекста.Закрыть();
30-
31- Парсер = Новый ПарсерJSON();
32- ДанныеПокрытия = Парсер.ПрочитатьJSON(СтрокаJSON);
3317
34- ЗаписьXML = Новый ЗаписьXML;
35- ЗаписьXML.ОткрытьФайл("coverage/genericCoverage.xml" );
36- ЗаписьXML.ЗаписатьОбъявлениеXML();
37- ЗаписьXML.ЗаписатьНачалоЭлемента("coverage" );
38- ЗаписьXML.ЗаписатьАтрибут("version" , "1" );
18+ ИмяПакета = "configor" ;
3919
40- Для Каждого Файл Из ДанныеПокрытия Цикл
41-
42- ДанныеФайла = Файл.Значение;
43-
44- ЗаписьXML.ЗаписатьНачалоЭлемента("file" );
45- ЗаписьXML.ЗаписатьАтрибут("path" , ДанныеФайла.Получить("#path" ));
46-
47- Для Каждого КлючИЗначение Из ДанныеФайла Цикл
48-
49- Если КлючИЗначение.Ключ = "#path" Тогда
50- Продолжить ;
51- КонецЕсли ;
52-
53- ДанныеПроцедуры = КлючИЗначение.Значение;
54- Для Каждого ДанныеСтроки Из ДанныеПроцедуры Цикл
55-
56- ЗаписьXML.ЗаписатьНачалоЭлемента("lineToCover" );
57-
58- ЗаписьXML.ЗаписатьАтрибут("lineNumber" , ДанныеСтроки.Ключ);
59- Покрыто = Число (ДанныеСтроки.Значение.Получить("count" )) > 0 ;
60- ЗаписьXML.ЗаписатьАтрибут("covered" , Формат (Покрыто, "БИ=true; БЛ=false" ));
61-
62- ЗаписьXML.ЗаписатьКонецЭлемента(); // lineToCover
63- КонецЦикла ;
64- КонецЦикла ;
65-
66- ЗаписьXML.ЗаписатьКонецЭлемента(); // file
67-
68- КонецЦикла ;
20+ ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();
6921
70- ЗаписьXML.ЗаписатьКонецЭлемента(); // coverage
71- ЗаписьXML.Закрыть();
22+ ПроцессорГенерации.ОтносительныеПути()
23+ .ФайлСтатистики(Файл_Стат.ПолноеИмя)
24+ .GenericCoverage()
25+ .Cobertura()
26+ .Clover(ИмяПакета)
27+ .Сформировать();
7228
7329ЗавершитьРаботу(КодВозврата);
0 commit comments