問題タブ [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.

0 投票する
1 に答える
6042 参照

scala - Akka アクターをモックしてクラスを単体テストする方法は?

コントローラーに注入される Akka アクターに送信されるリクエストを制御するコントローラー クラスがあります。

コントローラーのコード:

そして、私のアクターのコードは次のとおりです。

ここで、Controller を単体テストするために ActorA の動作をモックする必要があります。Akka TestKit 経由で行う方法はありますか?

0 投票する
1 に答える
83 参照

scala - アクティベーターのminimal-akka-scala-seedのSpecs2テストが時々失敗する

scalatestと specs2 の両方を使用して、ping-pong の例 (アクティベーターのminimum -akka-scala-seedから) をテストしようとしました(specs2 テストは自分で作成しました。以下を参照してください)。

スケーラテストは常にパスします。ただし、specs2 テストは常に成功するとは限りません (つまり、同じテストを数回再実行すると)。失敗すると、次の出力が表示されます。

私が実装した specs2 テストは次のとおりです ( minimal-akka-scala-seed のテスト フォルダーにある scalatest と非常によく似ています)。

私のライブラリの依存関係は次のとおりです。

spec2 テストで私がどこを台無しにしているか知っている人はいますか?

0 投票する
1 に答える
825 参照

scala - Akka - テスト監督戦略

次のシナリオがあります。親スーパーバイザー アクターは、コンストラクターで渡されたファクトリ (関数) を使用して、メッセージごとに子を作成します。

テストでは、子の Receive をオーバーライドして例外を強制します。私の期待は、私が設定した監督戦略のために毎回子役が止められることです。

SupervisorStrategy Stop により、子アクターが停止されることを期待します。代わりに、次のエラーが表示されます。

なぜこれが起こっているのですか?ありがとうございました

0 投票する
1 に答える
1156 参照

scala - Play で使用されている Akka のバージョンを調べる

akka-testkitPlayに依存関係を追加する必要があります。応用。Akka のバージョンをハードコーディングするのは避けて、代わりに Play が使用するものに固執したいと思います (互換性を確保するため)。

私のバージョンを取得することは可能build.sbtですか? リストされている唯一の場所は、Play のproject/Dependencies.scala.

0 投票する
2 に答える
468 参照

scala - ActorSelection を使用してアクターを識別する

私はActor別のものを見なければならない を書いていActorます。後者をtargetと呼びましょう。Actorターゲットが停止すると、自分自身を停止する必要があります。このターゲットには、ActorSelection. それを見るには、明らかに が必要なので、メッセージActorRefを送信する必要があると考えました。それが返信すると、私はその. ここまでは順調ですが、うまくいきません。ActorSelectionIdentifyActorIdentityActorRef

仕様は次のとおりです。

そして実装(FSM詳細は省略):

テストを実行すると、テスト中のシステムが実際に停止しているため、緑色になります。しかし、問題は、前述の手順を使用してターゲットを見つけることができないため、停止することです。ログファイルには次のように記載されています。

ターゲットの選択 ActorSelection[Anchor(akka://default/), Path(/system/testProbe-3)] にそれ自体を識別するように依頼します。messageId=871823258

要求されたターゲット ActorSelection [Anchor(akka://default/), Path(/system/testProbe-3)] が見つかりませんでした

ここで明らかな何かが欠けていますか?多分 aTestProbeはその正体を明かすべきではありませんか? ダミーActorターゲットとしてインスタンス化してみましたが、結果は同じです。どんな手掛かり?

0 投票する
1 に答える
418 参照

scala - ScaltestRouteTest で localhost にバインドしない方法

次のようにルートをテストしたいScalatestRouteTest

テストを実行すると、ランタイム エラーが発生します。

テスト MyRoutesSpec を実行できませんでした: org.jboss.netty.channel.ChannelException: バインドに失敗しました: /127.0.0.1:2552

ローカルホストにバインドしたくありません。これはどのように達成できますか?