Sonarqube 生成问题为
TestCases should contain tests
关于测试类内部没有任何测试,但有带有 @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
最佳答案
问题已通过正确设置 sonar.java.test.libraries/binaries 属性得到解决,如 https://stackoverflow.com/a/32197912/343806 中所述。 。它们不在运行器配置中,并且在 sonarqube 结果中添加提出的问题后标记为已修复。
关于java - Sonarqube 测试用例规则不考虑 @Test 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30860378/