0
我想为我的演员编写一些测试用例,问题是某些测试失败,我无法弄清楚为什么他们失败。使用akka测试工具记录收到的邮件
在正常情况下,我的代码工作正常(没有任何测试),但对于我的测试,我嘲笑twitter4j库的一些部分,这使得它们变得复杂。
测试失败,没有更多关于它的有用信息。
有没有办法用akka testkit和scalatest记录收到的消息?
我想为我的演员编写一些测试用例,问题是某些测试失败,我无法弄清楚为什么他们失败。使用akka测试工具记录收到的邮件
在正常情况下,我的代码工作正常(没有任何测试),但对于我的测试,我嘲笑twitter4j库的一些部分,这使得它们变得复杂。
测试失败,没有更多关于它的有用信息。
有没有办法用akka testkit和scalatest记录收到的消息?
如果您希望能够记录所有接收到的消息,有三件事情你必须做:
1)裹在演员的receive
功能要启用从akka.event
用LoggingReceive
(日志记录包)。
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 Docs的Testing Actor Systems部分阅读更多内容,特别是跟踪演员调用小节。