SonarQube 6.7 如何分析单元测试文件?
How to analyze unit test files in SonarQube 6.7?
我有一个用 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% 的测试覆盖率。
配置是否正确?
注意不要将 analyzing unittest-files 误认为 运行ning unittests and generating coverage.
Sonarqube 不会 detect/compute 基于您配置为正确分析的单元测试的覆盖范围。 Sonarqube 只会分析它的 sonarqube 问题。
对于单元测试覆盖率,您需要使用例如。测试期间的 jacoco 运行,并提供 jacoco 报告,理想情况下是声纳分析期间的单元测试报告,如:
sonar.junit.reportPaths=<paths to junit xml - comma separated>
sonar.jacoco.reportPaths=<paths to jacoco reports - comma separated>
这意味着,要获得此类数据,理想情况下您应该先 运行 您的测试,生成这些报告,并在 运行 扫描之前将这些属性提供给您的扫描仪。
有关如何实现此目的的更多详细信息,我建议:
- maven jacoco plugin - 生成代码覆盖率
- maven surefire plugin - 生成单元测试报告,运行宁测试
我有一个用 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% 的测试覆盖率。
配置是否正确?
注意不要将 analyzing unittest-files 误认为 运行ning unittests and generating coverage.
Sonarqube 不会 detect/compute 基于您配置为正确分析的单元测试的覆盖范围。 Sonarqube 只会分析它的 sonarqube 问题。
对于单元测试覆盖率,您需要使用例如。测试期间的 jacoco 运行,并提供 jacoco 报告,理想情况下是声纳分析期间的单元测试报告,如:
sonar.junit.reportPaths=<paths to junit xml - comma separated>
sonar.jacoco.reportPaths=<paths to jacoco reports - comma separated>
这意味着,要获得此类数据,理想情况下您应该先 运行 您的测试,生成这些报告,并在 运行 扫描之前将这些属性提供给您的扫描仪。
有关如何实现此目的的更多详细信息,我建议:
- maven jacoco plugin - 生成代码覆盖率
- maven surefire plugin - 生成单元测试报告,运行宁测试