我们使用gradle 3.3和jacoco工具verson 0.7.6.201602180812。我们有一个gradle多项目,如下所示:
我们在生成test.exec文件的所有子项目中使用单元测试来测试项目源和jacoco。我们在int-test项目中还有其他集成测试,将jacoco结果添加到int-test项目中的test-exec。我们在父项目上使用sonarqube gradle插件(2.2.1)来收集SonarQube服务器v6.2的所有内容。
可以使用自己的项目中的源代码进行测试,一切运行正常:代码覆盖率在jacoco报告以及SonarQube中进行衡量。 无论是在带有测试的项目的覆盖率报告中,还是在带有类的项目中,都不会仅测量生产项目(单个过程)中源的集成测试(内部测试项目)覆盖率。 可能需要以某种方式组合顶级项目的覆盖率数据-有人知道如何做到吗?最好情况下,SonarQube仍会显示单个模块级别的覆盖范围。编辑
这是一个小测试项目:https : //github.com/MichaelZett/coveragetest
运行
“ build smokeTest sonarqube”会导致: