我正在尝试为我的演员编写一些测试用例,问题是一些测试失败了,我不知道他们为什么会失败。
在正常情况下,我的代码运行良好(没有任何测试),但对于我的测试,我正在模拟 twitter4j 库的某些部分,这使得它们变得复杂。
测试失败,没有更多有用的信息。
有没有办法用 akka testkit 和 scalatest 记录收到的消息?
如果您希望能够记录所有收到的消息,您必须做三件事:
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 调用小节中阅读更多信息。