【问题标题】:How to deal with logging and unit test coverage?如何处理日志记录和单元测试覆盖率?
【发布时间】:2014-05-05 15:53:28
【问题描述】:

知道如何解决这个问题:

  • 我的课程包含大量单元测试
  • 这些类使用具有以下级别的 Log4j:DEBUG、INFO、ERROR

当我简单地运行单元测试并根据配置计算覆盖率时,我不会通过所有的日志记录语句。我用if (logger.isDebugEnabled()) ...

  • 过去当应用程序开始在生产中失败时,我已经遇到过问题,我们将日志级别更改为 DEBUG 以获得更多洞察力,但这导致了NullPointerExceptions(当然是错误的编码)

  • 理论上,我们可以使用不同级别的日志记录运行所有测试。

有什么聪明的方法或者有什么工具可以帮助解决这个问题吗?

【问题讨论】:

  • 为什么不在DEBUG 级别运行您的测试套件?
  • 好吧,使用特定于测试的 log4j 配置,将级别设置为 DEBUG。

标签: junit log4j line code-coverage


【解决方案1】:

按照 cmets 的建议:

使用将级别设置为 DEBUG 的特定于测试的 log4j 配置。

你还提到:

我们更改了日志级别做 DEBUG 以获得更多洞察力,但这导致 NullPointerExceptions

这听起来像是一个错误。识别这样的错误是测试的重点:现在您可以修复它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多