1

我正在尝试为我的演员编写一些测试用例,问题是一些测试失败了,我不知道他们为什么会失败。

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

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

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

4

1 回答 1

0

如果您希望能够记录所有收到的消息,您必须做三件事:

1)将您的receive功能包装在您想要使用LoggingReceive(来自akka.event包)启用日志记录的演员上。

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你的被测actor的级别。您可以在 Akka 文档的测试 Actor 系统部分,特别是跟踪 Actor 调用小节中阅读更多信息。

于 2014-09-02T12:24:10.157 回答