【问题标题】:How to read a log file in Junit test如何在 Junit 测试中读取日志文件
【发布时间】:2012-03-20 22:34:54
【问题描述】:

我有一个记录异常字符串的方法。 在我的 JUnit 测试中,我想读取日志并确保其中存在字符串。

有人可以建议如何做到这一点吗?

【问题讨论】:

  • 您的意思是捕获输出到控制台,还是您所说的“日志”是日志文件?如果它是一个文件,只需打开文件并读取它。

标签: java junit log4j


【解决方案1】:

如果该方法正在记录到 Log4J,您可以创建一个模拟附加程序并将其附加到正在测试的类。运行测试后,您可以检查 mock appender 并确保记录了正确的字符串。

【讨论】:

  • 习惯上接受最能回答问题的答案。
【解决方案2】:

您想测试,如果捕获到异常,则将预期消息发送到记录器。解析日志文件是一种选择,但使用这种方法,您也可以测试记录器配置(这应该超出此测试的范围)。

如果模拟接收到预期的消息和预期的日志级别,您可以模拟记录器并进行测试。

或者 - 使用特殊的记录器配置进行测试,以在文件或控制台上接收“原始”记录消息(您可以将该输出重定向到内部打印流)

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 2023-03-30
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多