使用akka测试套件记录收到的消息



我正在为我的参与者编写一些测试用例,问题是有些测试失败了,我不知道它们为什么失败。

在正常情况下,我的代码运行良好(没有任何测试),但对于我的测试,我嘲笑twitter4j库的某些部分,这使它们在某种程度上变得复杂。

测试失败了,没有更多有用的信息。

有没有办法用akka testkit和scalatest记录收到的消息?

如果你想记录所有收到的消息,你必须做三件事:

1) 用LoggingReceive(来自akka.event包)将receive函数封装在要启用日志记录的actor上。

2) 将配置中的akka.actor.debug.receive设置设置为true

3) 确保您的日志配置将在DEBUG级别显示消息

所以你的演员可能看起来像这样:

import akka.actor._
import akka.event.LoggingReceive
class MyActor extends Actor{
  def receive = LoggingReceive{
    case msg => ...
  }
}

如果这样设置,您应该开始看到所有传入的消息都记录到测试参与者的DEBUG级别。您可以在Akka文档的"测试参与者系统"部分,特别是"追踪参与者调用"小节中阅读更多关于这方面的内容。

相关内容

  • 没有找到相关文章

最新更新