1

在我的应用程序的构建过程中,我使用 SonarQube 来显示一些关于代码质量的统计数据。特别是我们用它来显示一些每晚执行的测试的代码覆盖率。

为了计算和检索代码覆盖率数据,我以这种方式使用 JaCoCo Maven 插件和代理:

mvn org.jacoco:jacoco-maven-plugin:0.7.8:dump \ 
    sonar:sonar
    -Djacoco.address=TEST_SERVER \
    -Djacoco.destFile=/proj/coverage-reports/jacoco-it.exec \
    -Dsonar.projectKey=TEST \ 
    -Dsonar.projectName=TEST \ 
    -Dsonar.branch=TEST \
    -Dsonar.jacoco.itReportPath=/proj/coverage-reports/jacoco-it.exec

以这种方式计算的代码覆盖率是正确的(因为它反映了某些每晚执行的测试的预期覆盖率)。

但在某些情况下,我无法执行jacoco:dump检索代码覆盖率统计的目标。在这些情况下,执行sonar:sonar会将现有代码覆盖率统计信息(根据jacoco:dump目标的先前执行计算)为 0,因为 Sonar 假设如果未发送统计信息,则该统计信息不存在。

我想做的是,如果我不这样做dump并使用 JaCoCo 计算代码覆盖率指数,SonarQube 中的代码覆盖率测量值不会丢失,而是等于最后计算的值。

有什么方法可以指示 SonarQube 服务器或 Maven Sonar 插件保留过去的代码覆盖率统计信息?

4

0 回答 0