Sca*_*rfe 1 java testing junit maven jacoco
我正在为一家使用多个Maven项目/模块的公司工作,以创建最终将成为一种产品的公司.为了帮助我解释,想象一下类似于下面的文件结构:
- Parent Directory
- Project_1
- /src/
- /target/
- POM.xml
- Project_2
- /src/
- /target/
- POM.xml
Run Code Online (Sandbox Code Playgroud)
在此过程中,我们使用JUnit对我们的代码进行单元测试,这是一个重要的合同要求,我们通过测试实现了超过一定百分比的代码覆盖率阈值.
我们使用JaCoCo以HTML网站的形式生成覆盖率报告.JaCoCo本身被证明是非常宝贵的,但我们遇到的一个主要问题是,这会在/target/site/jacoco/目录下创建一个站点.
我自己做了一些调查,发现除非我弄错了,否则JaCoCo默认不支持将多个Maven项目融合到一个JaCoCo报告中的能力.
所以我的问题是,任何人都可以建议一个替代解决方案 - 这将允许我们将多个报告聚合到一个Web服务器上吗?
我们有一个选择是将所有站点移动到Web服务器上的单个文件夹中,然后将索引页面链接在一起,但它最多只是"笨拙".例如:
- Web Server
- index.html
- Project_1
- (Generated report files)
- Project_2
- (Generated report files)
Run Code Online (Sandbox Code Playgroud)
任何更好的建议将不胜感激.
截至今天,JaCoCo并未提供一种简单的方法.但是,它们确实指定了三种替代方案:https://github.com/jacoco/jacoco/wiki/MavenMultiModule
他们最合适的方法是创建一个单独的报告模块,其中包含所有其他模块的依赖关系(在github文章中称为策略:具有依赖关系的模块).
记者模块使用jacoco:report-aggregate(http://www.eclemma.org/jacoco/trunk/doc/report-aggregate-mojo.html)maven目标来获取所有单个报告并将它们绑定在一起.
一个示例项目:
https://prismoskills.appspot.com/lessons/Maven/Chapter_06_-_Jacoco_report_aggregation.jsp
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |