- Используя Стамбул и Кобертуру, мне удалось получить отчет о покрытии для моего модульного теста, написанный на Javascript (Node js) в формате XML (cobertura-cover.xml).Но созданный xml не поддерживает формат, требуемый SonarQube.
- Я прошел через множество решений в Stackoverflow, но не смог найти решение, соответствующее моим критериям.
Ниже приводитсясодержимое, сгенерированное в файле cobertura-cover.xml -
<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage lines-valid="5" lines-covered="5" line-rate="1" branches-valid="0" branches-covered="0" branch-rate="1" timestamp="1542872388848" complexity="0" version="0.1">
<sources>
<source>/home/sreenesh/Sreenesh/Other_Projects/test/tests</source>
</sources>
<packages>
<package name="tests" line-rate="1" branch-rate="1" >
<classes>
<class name="test1.js" filename="test1.js" line-rate="1" branch-rate="1" >
<methods>
<method name="(anonymous_1)" hits="1" signature="()V" >
<lines><line number="4" hits="1" /></lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false" />
<line number="2" hits="1" branch="false" />
<line number="4" hits="1" branch="false" />
<line number="5" hits="1" branch="false" />
<line number="6" hits="1" branch="false" />
</lines>
</class>
</classes>
</package>
В приведенном выше xml версия для сгенерированного покрытия - '0.1', и этот формат не подходит для импортаэто для покрытия в SonarQube.
Анализ сонара показывает следующую ошибку -
ERROR: Error during SonarQube Scanner execution
ERROR: Error during parsing of the generic coverage report '/home/sreenesh/Sreenesh/Other_Projects/test/tests/cobertura-coverage.xml'. Look at SonarQube documentation to know the expected XML format.
ERROR: Caused by: Unknown XML node, expected "file" but got "sources" at line 4
Пожалуйста, помогите мне с правильными шагами для генерации XML, соответствующего формату здесь.Спасибо.