使Sonar仅在单元测试类中覆盖“不要声明'抛出异常'”

时间:2014-04-15 01:05:02

标签: java unit-testing sonarqube

我同意在普通的Java代码中声明“抛出异常”通常是一个坏主意。

但是,我认为在单元测试中这样做是个好主意。它简化了测试方法,但仍会导致任何导致测试失败的意外异常。

我想看看是否实际或可能让Sonar仅为不以“Test”结尾的课程报告此问题。我宁愿不在代码中添加覆盖,我更愿意完全在Sonar配置或通过sonar-runner发送的属性中实现。

任何人都可以看到这样做的方法吗?

1 个答案:

答案 0 :(得分:2)

自从SonarQube 4.0(或者你有一个旧版本,使用Switch Off Violations插件),你可以define a pattern忽略以Test结尾的类的规则:

  • 使用全局管理员帐户连接SonarQube
  • 转到:管理>配置>一般设置>分析范围
  • 查找部分:问题>忽略多个标准的问题
  • 添加条目:
    • 规则键模式:squid:S00112
    • 文件路径模式:**/*Test.java

另请注意,SonarJava的最新版本(至少从3.1开始)仅将一组特定规则应用于测试类。