如何抑制’common-java’规则的警告

我需要临时忽略规则“单元测试的分支覆盖不足”(common-java:InsufficientBranchCoverage).

阅读http://docs.sonarqube.org/display/SONAR/Frequently+Asked+Questions我看到SuppressWarnings适用于所有规则.

但任何组合

@SuppressWarnings("common-java:InsufficientBranchCoverage")
@SuppressWarnings("InsufficientBranchCoverage")
@SuppressWarnings("java:InsufficientBranchCoverage")

不适合我.

我使用Sonar 5.0,Sonar Java插件3.0.

编辑:

可以从声纳UI中抑制(移除)该警告.我看到两个解决方案

>为我的质量配置文件禁用“单位测试的分支覆盖率不足”规则.缺点是,该规则对整个项目禁用,而不仅仅针对单个类
>在浏览问题明细时将标记问题忽略.这忽略了问题的单一发生.缺点是,需要在每个声纳项目中标记问题(我们有每个分支项目).当我需要删除警告时,我必须再次在声纳UI中为每个项目执行此操作.

解决方法:

不幸的是,这是不可能的.

InsufficientBranchCoverage规则直接应用于文件级别,因此不会链接到文件中的任何特定行.要使用@SuppressWarnings删除与给定规则键相关的问题,规则必须在类或方法级别应用(您可以在文档中阅读).

请注意,为了保证分析结果的一致性,我们无法在文件级别禁用该问题,因为它可能通过隐藏本质上完全合法的问题而结束(例如,具有多个类的java文件的情况).

上一篇:基于Kubernetes/Jenkins/Harbor/Sonarqube搭建微服务CICD系统


下一篇:java – 来自“com.sun.*”和“sun.*”包的类不应该用于Jersey客户端的Sonar问题