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

Bar*_*cki 4 java sonarqube

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

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

但任何组合

@SuppressWarnings("common-java:InsufficientBranchCoverage")
@SuppressWarnings("InsufficientBranchCoverage")
@SuppressWarnings("java:InsufficientBranchCoverage")
Run Code Online (Sandbox Code Playgroud)

不适合我.

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

编辑:

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

  • 对我的质量配置文件禁用"单位测试的分支覆盖率不足"规则.缺点是,该规则对整个项目禁用,而不仅仅针对单个类

  • 在浏览问题明细时将标记问题标记为忽略.这忽略了问题的单一发生.缺点是,需要在每个声纳项目中标记问题(我们有每个分支项目).当我需要删除警告时,我必须再次在声纳UI中为每个项目执行此操作.

Mic*_*eam 6

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

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

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

  • 很抱歉劫持你的帖子,但是这也适用于`common-java:DuplicatedBlocks`规则吗?如果没有,您是否知道从此检查中排除某些文件的其他方法? (4认同)