【发布时间】:2015-08-31 20:18:56
【问题描述】:
Sonarqube 生成问题为
TestCases 应该包含测试
关于测试类里面没有任何测试,但是有方法用@Test注解和类用@RunWith(SpringJunit4ClassRunner.class)注解。
我在运行 TestSuites 并将单元测试和覆盖率报告导入 sonarqube 时没有问题。我检查了 sonarqube 源代码,它应该找到注释,但不幸的是它没有。上述问题的规则 ID 是 S2187。
此规则是否有用于查找带注释的方法的配置或者是一个已知问题?
编辑 - 配置:
sonar.projectKey=x
sonar.projectName=x
sonar.projectVersion=1.0
sonar.modules=a,b,c
a.sonar.projectBaseDir=modules/a
b.sonar.projectBaseDir=modules/b
c.sonar.projectBaseDir=modules/c
sonar.sources=src
sonar.tests=test
sonar.java.binaries=../**/classes/production,../**/classes/test
sonar.java.libraries=../../libraries/repository
sonar.junit.reportsPath=junit/
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reporthPath=coverage/jacoco.exec
sonar.language=java
sonar.sourceEncoding=UTF-8
【问题讨论】:
-
你是如何进行分析的? maven 还是 sonar-runner ?如果是后者,您可以分享您的配置吗?覆盖率报告和单元测试结果导入与此规则无关,因此与此问题无关。
-
我在 sonar-runner 上运行分析,使用 sonar-java 插件版本是 3.3,我也添加了配置问题。
-
尝试使用 sonar-java 插件 3.4 版,但也没有帮助。
-
库/存储库是否包含junit jar?
-
不,我排除了它,将尝试将 jar 放入存储库路径。
标签: java spring unit-testing sonarqube junit4