SonarQube

SonarQube java项目测试代码被误认为是源码

2020-09-04  本文已影响0人  戈壁堂

Coverage info displayed on Test code

使用sonar-scanner执行扫描动作,Java项目工程指定项目目录作为sonar.source参数的值。sonar.source=.一直执行的挺好。

最近有项目组反馈“测试目录里*INT的代码”被识别为了源码——导致覆盖率降低。类似在src/test/java目录下创建了类似ServiceXXXINT.java类型的文件。

看起来是如果测试目录下的文件如果以Test结尾,即使使用之前的设定,也会被识别为测试代码;否则会被认为是源码文件。

官方人员建议:使用 mvn sonar:sonar执行,会默认识别出项目结构。
文档中也做了说明——

sonar.source Comma-separated paths to directories containing main source files.

Read from build system for Maven, Gradle, MSBuild projects. Defaults to project base directory when neither sonar.sources nor sonar.tests is provided.

将此参数指定到src/main/java目录即可解决此问题。

mvn sonar:sonar会自动识别项目结构:Introduction to the Standard Directory Layout

上一篇下一篇

猜你喜欢

热点阅读