2015-05-19 6 views
1

Я читал о TestKit, TestActorRef и ImplicitSender от Akka. Но я не нашел способа проверить, получил ли определенный актер определенное сообщение. Я думаю, что «expectMsg (Foo)» может быть полезным, если получатель-актер «отправляет! Foo». Но мое приложение отличается: у меня есть актер A, который отправляет сообщение другому актеру B. Than B отправляет сообщение клиенту Java через WebSocket. Когда B получает ответ, это пересылается актеру C. Как проверить, что C получает это сообщение (возможно, в течение определенного таймаута)? Благодарю.Play - Akka: Испытания актеров

ответ

1

Без кода это трудно дать конкретный ответ, но вы можете создать TestProbe стоять для актера С.

val actorCProbe = TestProbe() 

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

Затем вы можете использовать весь стандартный тест-набор ожидает на пробнике:

actorB ! testMsg 

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

Это то, что мне нужно. Благодарю. –

Смежные вопросы