Akka が提供する TestKit、TestActorRef、ImplicitSender について読みました。しかし、特定のアクターが特定のメッセージを受信したかどうかを確認する方法は見つかりませんでした。"expectMsg(Foo)" は、受信側アクターが "sender ! Foo" を実行する場合に役立つと思います。しかし、私のアプリケーションは異なります。別のアクター B にメッセージを送信するアクター A があります。B は、WebSocket を介して Java クライアントにメッセージを送信します。B が応答を受信すると、これはアクター C に転送されます。C がそのメッセージを (おそらく特定のタイムアウト内で) 受信したことを確認するにはどうすればよいですか? ありがとう。
質問する
168 次
1 に答える
1
コードがなければ具体的な答えを出すのは難しいですがTestProbe
、アクター C の代わりになる を作成することはできます。
val actorCProbe = TestProbe()
val actorB = system.actorOf(Props(classOf[ActorB], actorCProbe.ref))
次に、テストプローブで期待されるすべての標準テストキットを使用できます。
actorB ! testMsg
actorCProbe.expectMsg(500 millis, "result")
于 2015-05-19T16:22:41.920 に答える