我正在尝试使用maven中的jacoco插件为我正在从事的多模块项目生成代码覆盖率报告。
我在构建标记的父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插件的执行,因此只需在Surefire插件中连接argline。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<argLine>${argLine}</argLine>
</configuration>
</plugin>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句