为Sonar添加jacoco集成测试覆盖率
背景:我有2个独立的Java项目,称它们为A和B.项目A是实际产品(战争应用程序),带有单元测试。 Gradle构建项目,然后运行声纳分析,我可以看到Sonar中的单元测试覆盖率。 项目B是第一个项目的集成测试。 它由Jenkins在构建项目A并将其部署到集成环境后进行管道运行。 部署还涉及对代码进行测试,以便jacoco-it报告将与项目A的类相关联。
我的问题:如何将项目A的声纳页添加到目前仅有单元测试覆盖率,集成测试覆盖率的第二步?
我需要的流程是:
目前它不工作。 当我在项目B上运行声纳分析时,它会弄乱项目A的声纳页面,取消A的单元测试覆盖率。
现在我正在工作的流程,但我想改变的是:
有什么建议么?
我会建议的是有点不同:
-Dsonar.analysis.mode=analysis
并进行全面分析: -Dsonar.analysis.mode=analysis
(注意:我的经验表明,在这种情况下,您必须在此分析之前运行增量,因为在分析模式中,声纳接受新的质量门限断路器问题 你不能修改以前的分析,这就是为什么你的'B'工作似乎取代了单元测试数字。 您需要做的是在分析之前生成集成测试覆盖率报告,并使该报告可用,以便可以在同一分析中读取单元测试和集成测试编号。
从构建管道的角度来看,这可能会变得棘手,这取决于您需要如何构建作业,但副作用听起来像需要3个作业: