有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使Sonar仅在单元测试类中重写“不声明‘抛出异常’”

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

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

我想看看让Sonar只为不以“测试”结尾的课程报告这个问题是否可行。我不希望在代码中添加覆盖,我更希望在Sonar配置中或通过Sonar runner发送的属性中完全实现这一点

有人能想出一个办法吗


共 (1) 个答案

  1. # 1 楼答案

    由于SonarQube是4.0(或者如果您有较旧的版本,请使用关闭违规插件),您可以define a pattern忽略以Test结尾的类的此规则:

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

    还请注意,SonarJava的最新版本(至少从3.1开始)只对测试类应用一组特定的规则