akka - 测试特定的日志条目

时间:2012-03-09 22:23:59

标签: scala akka

我正在为Akka演员编写单元测试,并希望验证日志条目;例如test xyz写信给错误类别。 (你知道,假设我通过!而不是?发送一个演员的消息。)

在演员中,我会写日志以查找错误或信息或调试等情况,具体取决于“接收”处理的消息的结果。

对于akka 1.2或1.3,我该怎么办呢?示例:向EventHandler添加一个新的侦听器?其他想法?

提前致谢, 托德

1 个答案:

答案 0 :(得分:3)

John已经在他的答案中涵盖了基础知识(我将消息传递给testActor而不是使用TestLatch,但这是一个品味问题)。我知道它不符合您的要求,但也许以下内容可以引诱您进入Akka 2.0?

EventFilter.error(message = "some message", occurrences = 1) intercept {
  // do something which should trigger such a log message
}

这些设施来自akka-testkit,特别是akka.testkit.TestEventListenerakka.testkit.EventFilter。上面显示的代码将等待最多三秒钟(可在“akka.test.filter-leeway”中配置)以显示消息,并在没有发生时提供信息性错误消息。