問題タブ [akka-testkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - TestActorRef: 基礎となるアクターを取得できませんでした、何も言いません
私はScalaTest
フォローのために最初に書き込もうとしていますActor
私もです
しかし、私が見ているのは
なぜ私は戻ってこないのRunner Actor
ですか?
scala - 単体テスト中に例外が発生した後、Akka Actor が再起動する
私Actor
のように見えます
私のテストは次のようになります
- ただし、一度
RuntimeException
発生すると、Actor
が再起動されるため、失敗することがログに表示されます。 Actor
myは何も定義していないことがわかるようsupervisorStrategy
に、その親は 次のようにします
しかし、私はsupervisor
ここでテストしていません。事実、Supervisor はテストの一部でさえありません。
ここで何がうまくいかないのですか?
ログ
scala - アクターがスローされてもテストで例外をキャッチしない
私Actor
のように見えます
そして私のようにtest
見えます
例外がスローされたことがログに表示されます
しかし、それでも私のテストは失敗します
docsに記載されている戦略も試しましたが、それでも同じ結果が得られます。
私は何を間違っていますか?
scala - Akka Http Route Test: リクエストは 1 秒以内に完了も拒否もされませんでした
を使用して、アプリケーションのテスト ケースを作成しようとしていますakka-http
。テストケースの 1 つを以下に示します。
これを実行すると、正しく動作することもあれば、エラーが発生することもありますRequest was neither completed nor rejected within 1 second
。今すぐ機能させるために Thread.sleep を追加しました。私はそれが正しい解決策ではないことを知っています。テストを 1 秒以上待機させる方法を誰か教えてもらえますか?
scala - Akka-http-testkit をテストした人はいますか?
私は akka-http と akka clustering に基づくマイクロサービス アーキテクチャで作業しています。akka のドキュメントで、このライブラリakka-http-testkitを見てきました。実際には実験段階ですが、ドキュメントは見つかりませんでした。進行中のようです。
誰もこのライブラリを使用していますか? 残りのマイクロサービスをテストする方法を誰かに提案できますか? . 私の最初のオプションはKarmaを使用し、javascript を介してテストを行うことですが、別の意見やオプションを聞くことは素晴らしいことです (Akka-http-testkit ... 多分 ... :))
scala - Akka TestKit メッセージが処理されるのを待つ方法
私のTestKitテストでは
このテストは失敗します。WriteResult(0,0)
私の作品での方法HistoryActor
:
WriteResult
では、結果をチェックするときに、それがすでに処理されていることを確認するテストを作成するにはどうすればよいでしょうか?
PS 個別にテストすることを検討すべきWriterActor
だったと思いますが、統合のようなテストが必要だとしましょう。
scala - system.actorOf を介して取得した ActorRef は、このアクター内の自分と同じですか?
起動前に自分のactorRefを別のアクターに送信する必要があるアクターを設計しました。
次に、このアクターの仕様を書きました。
テストを実行すると、次のメッセージで失敗します。assertion failed: expected Register(Actor[akka://MyActorSpec/user/$b#1849780829]), found Register(Actor[akka://MyActorSpec/user/$a#1143150267])
そのため、 MyActor 内部で取得した ActorRef は、私のテストでself
取得した ActorRef と等しくないようです。system.actorOf
助言がありますか?
scala - Akka-TestKit TestProbe を正しく使用するには?
http://doc.akka.io/docs/akka/snapshot/scala/testing.html#Using_Multiple_Probe_Actorsから例を拡張しました。
私は、これがテストのための正しい、または良い使い方だとは思いません。テストを削除するとtester1.expectMsg(500.milliseconds, "Hello")
失敗するため、tester2 のテストは tester1 のテストに依存します。私の意見では、これは悪いことです。
また、回線context.system.scheduler.scheduleOnce(400.milliseconds, actorRef1, "Hello")(context.system.dispatcher)
を 100 ミリ秒の遅延に変更すると、テストが失敗します。したがって、メッセージ 2 のテストは、メッセージ 1 の送信に依存します。私の意見では、これも悪いことです。
これを解決するには、メッセージの送信後に Thread.sleep を追加し、両方の #expectMsg の待機時間を 0 ミリ秒に変更します。Thread.sleep もテストでは良くないように見えますが、アクターのテストでは必須だと思います。これは正しい方法ですか?
TestProbe は複数のアクターをテストするために作られていると思いました。しかし、複数のアクターをテストする場合、#expectMsg の待機時間パラメーターはまったく役に立ちません。
どんな発言でも大歓迎です。
scala - アクターをテストする方法は、scala の testkit を使用してメイン クラスです。
scala アクターのテストを書き始めました。このブログを読みました。http://blog.matthieuguillermin.fr/2013/06/akka-testing-your-actors/ それから始めました。私はアプリケーションアクターを書きました。しかし、他とは違うアプリケーション アクターがブログにいることに気付きました。役者がメインクラスだから。コンソールに文字列を書き込み、別のアクターにメッセージを送信しました。アプリケーション アクターをテストするにはどうすればよいですか?
ApplicationTest を書きました。しかし、実行すると、テスト結果が失敗しました。
エラーは次のとおりです。
どうすれば続行できますか?
scala - `TestFSMRef.receive must throw[Exception]` が断続的に失敗するのはなぜですか
こんにちは、仲間のコーダーと尊敬されている達人です。
Supervisorによって再起動される特定の状態 ( Busy ) にFSM
ある間、特定のメッセージで IOException をスローする必要があることを実装するアクターがあります。
抜粋:
を使用してその動作をテストしようとしTestActorRef
てreceive
いますIOException
。
注: 初期化シーケンスにより、テスト済みの FSM が完全に初期化され、内部可変状態が設定されていることが確認されます。状態Busyは、アクターが特定の種類のメッセージを受信した場合にのみ残すことができます。このメッセージは、私のテスト セットアップではテスト ケースによって提供される必要があるため、FSM が適切な状態にあると確信しています。
現在、私の Jenkins サーバー (Ubuntu 14.10) では、このテスト ケースは 20 回の試行のうち約 1 回で失敗します (-> 例外はスローされません)。しかし、私の開発マシン (Mac Os X 10.10.4) では、バグを再現できません。したがって、デバッガーは役に立ちません。
テストは順次実行され、各例の後にテスト システムがシャットダウンされます。
- Java バージョン 1.7.0_71
- Scala バージョン 2.11.4
- アッカ バージョン 2.3.6
- Specs2 バージョン 2.3.13
呼び出しがなぜmyTestActorRef.receive(ExceptionResponse(testedCode))
結果にならないのか、誰でも説明できますException
か?