如何在Junit测试中读取日志文件

时间:2012-03-20 22:34:54

标签: java junit log4j

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

有人可以建议怎么做吗?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

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

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

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