SonarLint 与 SonarQube 同步
SonarLint synchronization with SonarQube
我已经阅读了所有关于 SonarLint 与 SonarQube 不同步的帖子,但它只是没有点击。
我创建了一个简单的 Maven 项目来测试 SonarLint 和 SonarQube。我将 sonar-maven-plugin 添加到项目中,然后 运行 mvn sonar:sonar.
项目已上传到 SonarQube。当我查看 SonarQube 时,我看到它显示 squid:S2699(junit 测试没有断言)作为阻止程序。
然而,在eclipse中,SonarLint并没有出现这样的问题。
我特意选择了这个,因为它不是 PMD/FindBugs/Checkstyle 问题。
我已确认 squid:S2699 在服务器上处于活动状态。显然是的,因为 SonarQube 显示了它。
只有 1 个质量配置文件:SonarWay。
编辑:我处于连接模式。
有人知道为什么吗?
我正在使用:
- Eclipse Neon.3 发布 (4.6.3)
- sonar-maven-插件 3.0.2
- maven 3.3.9(嵌入在eclipse中)
- SonarLint 3.2.0.201706271328
- SonarQube 6.3(内部版本 19869)
这里有截图为证。
您的测试文件似乎没有被视为测试文件,而是被视为源文件。我说这是基于报告的错误类型(删除未使用的变量)和 not 报告的错误类型(无断言)。
您可能知道,不同的规则适用于源和测试。
SonarLint 根据测试文件正则表达式 首选项决定文件是否为测试文件,您可以在Window 中找到该首选项/首选项/SonarLint。默认值为 **/*Test.*,**/test/**/*
,
这似乎适用于各种情况,并且查看您的屏幕截图,它也应该适用于您的情况。
所以首先验证这个设置。
如果该值与默认值不同,
我建议将其更改回默认值作为完整性检查。
然后你可以根据你的需要调整这个值。
通过检查 SonarLint 控制台:
,验证我关于 SonarLint 将文件视为测试而不是源文件的理论是否正确也很好
- 在 Console 视图中,单击 Open Console 下拉菜单,select SonarLint Console
- 在配置日志下拉菜单中启用详细输出
- 触发测试文件的分析(进行更改并保存文件)
您应该看到这样的输出:
[
baseDir: ...
workDir: ...
extraProperties: ...
inputFiles: [
/path/to/your/test/SonarProofTest.java [test]
]
]
文件名末尾的[test]
表示该文件被视为测试文件。如果不存在,则该文件将被视为源文件。
我已经阅读了所有关于 SonarLint 与 SonarQube 不同步的帖子,但它只是没有点击。
我创建了一个简单的 Maven 项目来测试 SonarLint 和 SonarQube。我将 sonar-maven-plugin 添加到项目中,然后 运行 mvn sonar:sonar.
项目已上传到 SonarQube。当我查看 SonarQube 时,我看到它显示 squid:S2699(junit 测试没有断言)作为阻止程序。
然而,在eclipse中,SonarLint并没有出现这样的问题。
我特意选择了这个,因为它不是 PMD/FindBugs/Checkstyle 问题。
我已确认 squid:S2699 在服务器上处于活动状态。显然是的,因为 SonarQube 显示了它。
只有 1 个质量配置文件:SonarWay。
编辑:我处于连接模式。
有人知道为什么吗?
我正在使用:
- Eclipse Neon.3 发布 (4.6.3)
- sonar-maven-插件 3.0.2
- maven 3.3.9(嵌入在eclipse中)
- SonarLint 3.2.0.201706271328
- SonarQube 6.3(内部版本 19869)
这里有截图为证。
您的测试文件似乎没有被视为测试文件,而是被视为源文件。我说这是基于报告的错误类型(删除未使用的变量)和 not 报告的错误类型(无断言)。 您可能知道,不同的规则适用于源和测试。
SonarLint 根据测试文件正则表达式 首选项决定文件是否为测试文件,您可以在Window 中找到该首选项/首选项/SonarLint。默认值为 **/*Test.*,**/test/**/*
,
这似乎适用于各种情况,并且查看您的屏幕截图,它也应该适用于您的情况。
所以首先验证这个设置。
如果该值与默认值不同,
我建议将其更改回默认值作为完整性检查。
然后你可以根据你的需要调整这个值。
通过检查 SonarLint 控制台:
,验证我关于 SonarLint 将文件视为测试而不是源文件的理论是否正确也很好- 在 Console 视图中,单击 Open Console 下拉菜单,select SonarLint Console
- 在配置日志下拉菜单中启用详细输出
- 触发测试文件的分析(进行更改并保存文件)
您应该看到这样的输出:
[
baseDir: ...
workDir: ...
extraProperties: ...
inputFiles: [
/path/to/your/test/SonarProofTest.java [test]
]
]
文件名末尾的[test]
表示该文件被视为测试文件。如果不存在,则该文件将被视为源文件。