私は最初の Akka テストを作成しようとしており、ドキュメントを調べています。最初の例を実行していて、次のエラーが発生しました。
[エラー] [10/26/2017 14:08:55.371] [IngestionWorkerActorSpec-akka.actor.default-dispatcher-4] [akka://IngestionWorkerActorSpec/user/$b] アサーションが失敗しました: expectMsg 中にタイムアウト (3 秒)テスト メッセージの待機中 java.lang.AssertionError: アサーションに失敗しました: タイムアウト (3 秒)
以下は、私のテスト アクターの receive メソッドです。
override def receive: Receive = {
case p: ProducerRecord[_,_] =>
sendChannel.send(p.value())
case _ => logger.error("Unknown type Producer Record Received.")
}
テスト仕様:
val uutActor =system.actorOf(IngestionWorkerActor.props(config, KafkaProducer))
"An actor must send " should {
"send back messages unchanged" in {
uutActor ! expected
Thread.sleep(50)
expectMsg(expected)
}
}
アクターが送信されたメッセージを受信しているかどうかをテストしたかったのですが、後で特定のメッセージを受信しているかどうかを確認するために変更したいと考えていました。どんな助けでも大歓迎です。