小编Mic*_*ler的帖子

jacoco和gradle多模块项目的跨模块代码覆盖

我们使用gradle 3.3和jacoco工具verson 0.7.6.201602180812。我们有一个gradle多项目,如下所示:

  • 父母
    • 产品1
    • 产品2
    • 产品3
    • 内测

我们在生成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”会导致:

  • 运行所有测试
  • 在所有子项目中生成jacoco / test.exec和test-results / test / ...文件
  • 这些在声纳尔贝解析
  • 正确测试测试项目来源的测试的覆盖率
  • 缺少测试另一个项目中的源的测试的覆盖范围

gradle multi-module jacoco sonarqube

6
推荐指数
2
解决办法
6680
查看次数

标签 统计

gradle ×1

jacoco ×1

multi-module ×1

sonarqube ×1