Агрегированное покрытие или покрытие в зависимых модулях, не показанных в SonarQube + Отчеты создаются Jacoco

Я запускаю плагин jacoco для создания отчетов html , xml и jacoco.exec для измерения охвата кода, протестированного моими testNg тестами.

Я успешно генерирую эти отчеты как в моем локальном, так и в Jenkins, и все результаты моих модульных тестов отражаются в Sonar, и он показывает мне покрытие.

У моего jacoco.exec есть как результаты покрытия в модуле, так и зависимые модули. Я проверил это, используя eclemma plugin для eclipse.

Я не получаю результаты покрытия в зависимых модулях в Sonar. Делает ли кто-нибудь, что я делаю неправильно.

Мой плагин выглядит так

<plugin>
 <groupId>org.jacoco</groupId>
 <artifactId>jacoco-maven-plugin</artifactId>
 <version>0.7.7.201606060606</version>
 <executions>
    <execution>
        <goals>
            <goal>prepare-agent</goal>
        </goals>
    </execution>
    <execution>
        <id>report</id>
        <phase>prepare-package</phase>
        <goals>
            <goal>report</goal>
        </goals>
    </execution>
  </executions>
</plugin>

и моя цель jacoco:report-aggregate


person JITHIN_PATHROSE    schedule 06.10.2018    source источник
comment
Проверьте это решение stackoverflow.com/questions/13031219/   -  person bhavanak    schedule 06.10.2018
comment
Похоже, это не работает для получения покрытия зависимого модуля.   -  person JITHIN_PATHROSE    schedule 06.10.2018
comment
Как вы проводите анализ? если отчет не импортирован анализом вашего зависимого модуля, вы не увидите покрытие.   -  person benzonico    schedule 08.10.2018
comment
Как это делается в сонаркубе?   -  person JITHIN_PATHROSE    schedule 08.10.2018
comment
Ответ описан здесь groups.google.com/forum/# !msg/jacoco/-ipUlIfZfdo/RxmZd1M7CAAJ   -  person JITHIN_PATHROSE    schedule 10.10.2018


Ответы (1)


Я получил ответ от jacoco охват подключаемых модулей в многомодуле

Ниже приведены ошибки, которые я сделал, которые вызвали у меня проблемы. В свойствах нашего pom

 <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>

и в плагине

 <destFile>${sonar.jacoco.reportPath}</destFile>

для меня приведенный выше оператор сбрасывал jacoco.exec в разные папки из-за разницы в иерархии модулей maven, в результате чего они никогда не объединялись.

Второй момент заключается в том, что покрытие зависимого модуля будет получено только в том случае, если это compile time dependency для модуля тестирования.

person JITHIN_PATHROSE    schedule 12.10.2018