Я пытался создать отчеты о покрытии кода, используя плагин jacoco в maven для многомодульного проекта, над которым я работал.
Я добавил следующее в свой родительский pom.xml в теги сборки.
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.8-SNAPSHOT</version>
<configuration>
<output>file</output>
<append>true</append>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<argLine>${argLine}</argLine>
</configuration>
</plugin>
При запуске mvn verify соответствующие отчеты jacoco были созданы для каждого модуля в "корень проекта \ модуль \ цель \ сайт \ jacoco \"
Можно ли создать консолидированный отчет jacoco в корне проекта, содержащий сведения о тестовом покрытии каждого модуля?
Пожалуйста, предложите наилучший способ объединения отчетов отдельных модулей.
Уверенный!
Мне потребовалось время и несколько источников, чтобы приготовить этот шаблон, но он сработал.
Для многомодульного проекта Maven:
ROOT
|--LIB-1
|--LIB-2
У LIB
обоих проектов есть собственные модульные тесты.
ROOT pom.xml
<!- properties-->
<jacoco.reportPath>${project.basedir}/../target/jacoco.exec</jacoco.reportPath>
<!-- build/plugins (not build/pluginManagement/plugins!) -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.6.201602180812</version>
<executions>
<execution>
<id>agent-for-ut</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<append>true</append>
<destFile>${jacoco.reportPath}</destFile>
</configuration>
</execution>
</executions>
</plugin>
LIB
проекты pom.xml
унаследуют выполнение плагинов JaCoCo, поэтому просто нужно подключить строку argline в плагине Surefire.
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<argLine>${argLine}</argLine>
</configuration>
</plugin>
У меня есть расширенный ответ на развертывание интеграционных тестов, а также модульных тестов для JaCoCo, о которых сообщается через Sonar, вы можете увидеть мой подробный ответ здесь .
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения