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