Maven多模块项目Jacoco合并数据文件后如何生成整体报告?
如何基于合并后的Jacoco数据文件生成Maven多模块项目的整体代码覆盖率报告
既然你已经成功把多模块的Jacoco数据合并成一个文件了,那生成整体覆盖率报告就水到渠成啦!结合你提到的测试项目,我给你一步步拆解操作:
1. 在父POM中配置Jacoco报告生成插件
首先要在父项目的pom.xml里,给Jacoco插件新增一个生成聚合报告的执行配置,指向你已经合并好的Jacoco数据文件:
<build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.10</version> <!-- 建议使用最新稳定版 --> <executions> <!-- 保留你之前配置的测试执行、数据合并的execution --> <execution> <id>jacoco-aggregate-report</id> <phase>verify</phase> <goals> <goal>report-aggregate</goal> </goals> <configuration> <!-- 这里填写你合并后的Jacoco数据文件路径 --> <dataFile>${project.build.directory}/jacoco/combined.exec</dataFile> <!-- 自定义报告输出目录(可选,默认是target/site/jacoco-aggregate) --> <outputDirectory>${project.reporting.outputDirectory}/jacoco-aggregate</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>
2. 执行Maven命令触发报告生成
在父项目的根目录下,运行以下Maven命令:
mvn clean verify
这个命令会依次执行:清理项目、运行所有单元/集成测试、执行你之前配置的数据合并步骤,最后生成聚合覆盖率报告。
3. 查看整体覆盖率报告
报告生成后,默认会存放在父项目的target/site/jacoco-aggregate目录下。打开该目录下的index.html文件,就能看到整个多模块项目的整体代码覆盖率统计,还可以点击各个子模块查看详细的类、方法级别的覆盖情况。
针对你的测试项目的额外提示
如果你的测试项目里合并后的Jacoco数据文件路径不是默认的target/jacoco/combined.exec,只需要修改<dataFile>标签里的路径即可。另外,你可以提前检查下合并后的.exec文件是否有效——比如通过查看文件大小,确保所有子模块的测试数据都被正确合并进去了。
内容的提问来源于stack exchange,提问作者tm1701
相关产品推荐
相关产品推荐

