我有一个Scala类ComponentBuilder
,它处理创建actor并初始化它们。它有一个与system
对应的字段ActorSystem
(以及其他内容)。
现在,我想使用TestKit
测试它 - 拦截日志,演员生成并检查它们。如果我尝试使用常规EventFilter
,我可以看到我的演员在stdout中生成的日志,但是EventFilter
没有抓住它们,我猜是因为它们处于不同的{{1} }。
我想到的一个解决方案是使ActorSystem
成为ComponentBuilder
的子类,并将所有ActorSystem
- 命令传递给其字段。由于受保护的方法返回AS
,我没有设法做到这一点,但无论如何我不确定它是否会起作用,因为无论如何都会有2个演员系统。
我还尝试将一些消息从测试类传递给actor,然后等待并检查结果。这导致回复InternalActorRef
,可能是出于同样的原因 - 内部deadLetters
不知道外部的那个。
我将不胜感激您的任何解决方案。