如何忽略Sonar代码覆盖率分析中的代码块?

时间:2015-05-18 09:49:29

标签: logging sonarqube code-coverage

在我们的代码中,有很多这样的日志记录片段:

if(logger.isDebugEnabled()) {
    logger.debug("...")
}

是否可以配置SonarQube,以便代码覆盖率分析中不包含此类代码块?编写测试以涵盖此类调试语句似乎没有多大意义......

我发现了如何:

  • 忽略覆盖率分析中的整个文件
  • 忽略代码块中的问题

但我没有找到从覆盖率分析中排除代码块的方法。

1 个答案:

答案 0 :(得分:-1)

我也面临同样的问题。忽略它我忽略了两种技术

1)模拟这些记录器使用任何模拟框架示例Mockito,Powermockito,PowerMock等。在适用的任何地方使用相同的模拟代码

2)在类路径中保留logback-test.xml(或记录您使用的任何日志框架的配置文件),并设置Lower Log Level Like Trace.So让测试类加载logger以打印这些语句。

这将有助于显示有关测试用例如何执行语句

的详细信息