問題タブ [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 - Akka アクターをモックしてクラスを単体テストする方法は?
コントローラーに注入される Akka アクターに送信されるリクエストを制御するコントローラー クラスがあります。
コントローラーのコード:
そして、私のアクターのコードは次のとおりです。
ここで、Controller を単体テストするために ActorA の動作をモックする必要があります。Akka TestKit 経由で行う方法はありますか?
scala - アクティベーターのminimal-akka-scala-seedのSpecs2テストが時々失敗する
scalatestと specs2 の両方を使用して、ping-pong の例 (アクティベーターのminimum -akka-scala-seedから) をテストしようとしました(specs2 テストは自分で作成しました。以下を参照してください)。
スケーラテストは常にパスします。ただし、specs2 テストは常に成功するとは限りません (つまり、同じテストを数回再実行すると)。失敗すると、次の出力が表示されます。
私が実装した specs2 テストは次のとおりです ( minimal-akka-scala-seed のテスト フォルダーにある scalatest と非常によく似ています)。
私のライブラリの依存関係は次のとおりです。
spec2 テストで私がどこを台無しにしているか知っている人はいますか?
scala - Akka - テスト監督戦略
次のシナリオがあります。親スーパーバイザー アクターは、コンストラクターで渡されたファクトリ (関数) を使用して、メッセージごとに子を作成します。
テストでは、子の Receive をオーバーライドして例外を強制します。私の期待は、私が設定した監督戦略のために毎回子役が止められることです。
SupervisorStrategy Stop により、子アクターが停止されることを期待します。代わりに、次のエラーが表示されます。
なぜこれが起こっているのですか?ありがとうございました
scala - Play で使用されている Akka のバージョンを調べる
akka-testkit
Playに依存関係を追加する必要があります。応用。Akka のバージョンをハードコーディングするのは避けて、代わりに Play が使用するものに固執したいと思います (互換性を確保するため)。
私のバージョンを取得することは可能build.sbt
ですか? リストされている唯一の場所は、Play のproject/Dependencies.scala
.
scala - ActorSelection を使用してアクターを識別する
私はActor
別のものを見なければならない を書いていActor
ます。後者をtargetと呼びましょう。Actor
ターゲットが停止すると、自分自身を停止する必要があります。このターゲットには、ActorSelection
. それを見るには、明らかに が必要なので、メッセージActorRef
を送信する必要があると考えました。それが返信すると、私はその. ここまでは順調ですが、うまくいきません。ActorSelection
Identify
ActorIdentity
ActorRef
仕様は次のとおりです。
そして実装(FSM
詳細は省略):
テストを実行すると、テスト中のシステムが実際に停止しているため、緑色になります。しかし、問題は、前述の手順を使用してターゲットを見つけることができないため、停止することです。ログファイルには次のように記載されています。
ターゲットの選択 ActorSelection[Anchor(akka://default/), Path(/system/testProbe-3)] にそれ自体を識別するように依頼します。messageId=871823258
要求されたターゲット ActorSelection [Anchor(akka://default/), Path(/system/testProbe-3)] が見つかりませんでした
ここで明らかな何かが欠けていますか?多分 aTestProbe
はその正体を明かすべきではありませんか? ダミーActor
をターゲットとしてインスタンス化してみましたが、結果は同じです。どんな手掛かり?
scala - ScaltestRouteTest で localhost にバインドしない方法
次のようにルートをテストしたいScalatestRouteTest
:
テストを実行すると、ランタイム エラーが発生します。
テスト MyRoutesSpec を実行できませんでした: org.jboss.netty.channel.ChannelException: バインドに失敗しました: /127.0.0.1:2552
ローカルホストにバインドしたくありません。これはどのように達成できますか?