2015-05-19 122 views
1

我读过Akka提供的TestKit,TestActorRef和ImplicitSender。但我没有找到一种方法来检查某个演员是否收到了某条消息。如果接收者 - 演员确实是“发送者!Foo”,我认为“expectMsg(Foo)”可以是有用的。 但我的应用程序是不同的:我有一个演员A向另一个演员B发送消息.B比B通过WebSocket发送消息给Java客户端。当B收到回复时,将转发给参与者C. 如何检查C是否收到该消息(可能在特定的超时时间内)?谢谢。玩 - Akka:演员测试

回答

1

没有代码很难给出一个具体的答案,但你可以创建一个TestProbe以代替演员C.

val actorCProbe = TestProbe() 

val actorB = system.actorOf(Props(classOf[ActorB], actorCProbe.ref)) 

然后你可以使用所有标准测试套件预计在测试探针:

actorB ! testMsg 

actorCProbe.expectMsg(500 millis, "result") 
+0

这就是我需要的。谢谢。 –