我的项目由 6 个 Java 微服务组成,我正在尝试弄清楚如何将 Jacoco 的 html 报告合并到一份总体覆盖率报告中。就目前情况而言,我最终为每项服务提供了一份报告,如果能有一份汇总报告就好了,这样我就可以更轻松地将其放入我们的 CI 中以提高可见性等。
我尝试了在网络搜索中找到的各种内容,但当我尝试这些建议时,我最终得到了一个空的覆盖文件。
这是我的 gradle 文件:
subprojects {
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7+"
reportsDir = file("$buildDir/reports/customJacocoReportDir")
}
jacocoTestReport {
reports {
xml.enabled true
csv.enabled false
html.destination "$buildDir/reports/jacocoHtml"
}
}
test {
finalized by jacocoTestReport
...
}
我运行 gradle test 来运行测试并使用上面的方法获取每个服务的报告输出,但我真的很困惑如何将它们合并到单个 html 报告中。如果有人成功完成此操作,请告诉我。谢谢。
最佳答案
目前我们遇到了同样的问题,jacoco 代理有一个名为“merge”的 Maven 目标。您可以指定源文件并运行它:
jacoco:合并
全名:
org.jacoco:jacoco-maven-plugin:0.7.8-SNAPSHOT:合并
描述:
用于将一组执行数据文件 (*.exec) 合并到单个文件中的 Mojo
属性:
- 需要执行 Maven 项目。
- 目标是线程安全的并支持并行构建。
- 自版本:0.6.4。
- 默认绑定(bind)到生命周期阶段:generate-resources。
<fileSets> <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet"> <directory>${project.build.directory}</directory> <includes> <include>*.exec</include> </includes> </fileSet> </fileSets>
实际链接:http://www.eclemma.org/jacoco/trunk/doc/merge-mojo.html
希望有帮助:D
关于gradle - JaCoCo 具有微服务项目架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39003273/