【问题标题】:How to analyze unit test files in SonarQube 6.7?如何在 SonarQube 6.7 中分析单元测试文件?
【发布时间】:2019-05-24 04:58:21
【问题描述】:

我有一个用 maven 创建的模块化项目。这是我的项目树:

project
-module1
   -src/main/java
   -src/test
-module2
   -src/main/java
   -src/test
-module3
   -src/main/java
   -src/test
-module4
   -src/main/java
   -src/test
-src

在我放的声纳配置文件中:

sonar.sources=.
sonar.tests=.
sonar.test.inclusions=**/*Test*/**
sonar.exclusions=**/*Test*/**

我对该项目的单元测试是使用 Junit 开发的。 使用这种配置,我仍然有 0% 的测试覆盖率。

配置是否正确?

【问题讨论】:

    标签: java unit-testing junit sonarqube sonarlint


    【解决方案1】:

    注意不要将分析单元测试文件误认为是运行单元测试并生成覆盖率

    Sonarqube 不会根据您配置为正确分析的单元测试来检测/计算您的覆盖率。 Sonarqube 只会针对 sonarqube 问题对其进行分析。

    对于单元测试覆盖率,您需要使用例如。 jacoco 在测试运行期间,并提供 jacoco 报告,最好是在声纳分析期间提供单元测试报告,例如:

    sonar.junit.reportPaths=<paths to junit xml - comma separated>
    sonar.jacoco.reportPaths=<paths to jacoco reports - comma separated>
    

    这意味着,要获取此类数据,您最好先运行测试,生成这些报告,并将这些属性提供给您的扫描仪,然后再运行扫描。

    有关如何实现这一点的更多详细信息,我建议:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 2014-04-28
      • 2018-06-30
      • 1970-01-01
      • 2018-05-29
      • 2012-08-15
      • 1970-01-01
      相关资源
      最近更新 更多