Формат cobertura-cover.xml не поддерживается SonarQube для модульных тестов, написанных на JavaScript - PullRequest
0 голосов
/ 22 ноября 2018
  • Используя Стамбул и Кобертуру, мне удалось получить отчет о покрытии для моего модульного теста, написанный на 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, соответствующего формату здесь.Спасибо.

1 Ответ

0 голосов
/ 04 июня 2019

Это потому, что Sonarqube ожидает формат файла LCOV, а вы предоставляете файл отчета Cobertura.

Если вы хотите передать Sonar этим типом файла, вам необходимо установить плагин Covertura ипредоставьте файл с параметром: sonar.cobertura.reportPath=...

В противном случае перейдите к файлу LCOV, который изначально поддерживается Sonarqube

...