我有一个用 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%的测试覆盖率。
配置是否正确?
注意不要错误地分析单元测试文件来运行单元测试和生成覆盖率。
Sonarqube 不会根据您配置为正确分析的单元测试来检测/计算您的覆盖率。Sonarqube 只会分析它的声纳问题。
对于单元测试覆盖率,您需要使用例如。jacoco 在测试运行期间,并提供 jacoco 报告,最好在声纳分析期间提供 unittest 报告,例如:
sonar.junit.reportPaths=<paths to junit xml - comma separated>
sonar.jacoco.reportPaths=<paths to jacoco reports - comma separated>
这意味着,要获得此类数据,您最好先运行测试,生成这些报告,并在运行扫描之前将这些属性提供给您的扫描仪。
有关如何实现这一目标的更多详细信息,我建议:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句