0

私は最初の 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)
}
}

アクターが送信されたメッセージを受信して​​いるかどうかをテストしたかったのですが、後で特定のメッセージを受信して​​いるかどうかを確認するために変更したいと考えていました。どんな助けでも大歓迎です。

4

1 に答える 1