我正在为 Akka Actor 编写单元测试并想验证日志条目;例如测试 xyz 写入错误类别。 (您知道,假设我通过 ! 而不是 ? 向 Actor 发送消息。)
在 Actor 中,我将根据“接收”处理的消息的结果写入日志以记录错误或信息或调试等情况。
对于 akka 1.2 或 1.3,我应该怎么做?例子:给 EventHandler 添加一个新的监听器?其他想法?
提前致谢,
托德
最佳答案
约翰已经在他的回答中涵盖了基础知识(我会将消息通过管道发送到 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.TestEventListener
和 akka.testkit.EventFilter
.上面显示的代码将等待最多三秒钟(可在“akka.test.filter-leeway”中配置)消息出现并在没有发生时给出信息性错误消息。
关于scala - akka - 测试特定的日志条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9641817/