【问题标题】:Gradle java.util.logging.Logger output in unit tests单元测试中的 Gradle java.util.logging.Logger 输出
【发布时间】:2010-06-07 16:39:39
【问题描述】:

对不起,这可能是一个非常简单的问题。

我在我的开发环境中使用gradle。效果很好!

我编写了一个使用HtmlUnit 和我自己的包的简单单元测试。

对于我自己的包,我使用java.util.Logger

HtmlUnitseems 使用公共日志记录。

我想查看来自java.util.Logger 的日志消息的控制台输出

然而,我的单元测试结果 GUI(System.err 链接)中似乎连信息级别的消息都没有显示,尽管 HtmlUnit 消息都显示了。

如果您有任何建议,请告诉我。

谢谢! 米莎

【问题讨论】:

  • 还有一个提示:似乎如果我在实际的 test 类中使用 Logger,一切正常。但是,我的记录器在被测试的类中,并且该输出似乎没有得到正确处理。

标签: java unit-testing logging junit gradle


【解决方案1】:

好的。我想到了。这很奇怪。

也就是说,如果我在任何方法的外部初始化记录器:

class foo {
   def log=Logger.getLogger(this.class.name)
}

我写测试时看不到日志输出。

但是,如果我在构造函数内部初始化记录器

class foo {
   def log
   foo() {
      log=Logger.getLogger(this.class.name)
   }
}

然后它工作正常。奇怪...

谢谢! 米莎

【讨论】:

    【解决方案2】:

    将使用自己的库的日志记录系统桥接起来很复杂。为什么不使用 slf4j 的桥接 JAR?他们会将旧呼叫重定向到公共日志记录到您设计的自己的日志记录系统。

    看看http://www.slf4j.org/legacy.html

    【讨论】:

    • 谢谢。不过我还是有点困惑。 I 可以使用哪些日志输出来显示在单元测试结果中?我的意思是我自己的程序。谢谢米莎
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多