【发布时间】:2018-03-10 17:38:59
【问题描述】:
在测试 akka 演员系统时,我使用多个嵌套演员实例化它。作为入口点,父actor生成嵌套的子actor树。类似于生产树,但包含来自 H2 db 源的测试数据。
我需要验证整个系统的一部分(假设是单个参与者状态),由于数据不一致,无法单独访问或实例化其他部分。
我知道,对于独立的 actor 测试,可以通过使用以下构造来获取它的内部状态:
TestActorRef<RoutingRequestHandlerActor> fsmRef = TestActorRef.create(getSystem(), RoutingRequestHandler.props(), getTestActor());
RoutingRequestHandlerActor fsm = fsmRef.underlyingActor();
但是如果actor是间接创建的,我该怎么办?
是否有可能以某种方式包装它以获得Actor 而不是ActorRef?
作为替代解决方案,我知道可以发送附加诊断消息以响应状态描述。但也许还有另一种更智能的方法?
【问题讨论】: