scala - akka - 测试特定的日志条目

标签 scala akka

我正在为 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.TestEventListenerakka.testkit.EventFilter .上面显示的代码将等待最多三秒钟(可在“akka.test.filter-leeway”中配置)消息出现并在没有发生时给出信息性错误消息。

关于scala - akka - 测试特定的日志条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9641817/

相关文章:

scala - 使用 slick 获取最后插入的自动生成的 ID 的最佳方法是什么?

json - Map[Locale, String] 的 Scala Play Json 格式

Scala - 每个循环之间的区别

java - Akka 恢复不起作用?即使一切执行正常,仍然抛出异常

scala - 在 akka Receive 中保存类型信息

java - Akka 没有在 Servlet 中完全关闭

java - 使用 Spring Security 玩框架?

scala - 从 Actor 返回实际结果而不是 Promise/Future

scala - 测试 Akka react 流

java - Akka变得()和getSender()不兼容