5

ActorSystem.actorOfを使用してアクターを作成するときに、Propsに渡したクラスのインスタンスを取得するにはどうすればよいですか?アクターのいくつかのプロパティへの参照を取得するために単体テストでそれが必要なので、アクターはテストと同じJVMでローカルになります。

アクターをライブにする必要があるため、Akkaのテストフレームワークを使用したくありません。これは一種の統合テストです。

4

2 に答える 2

7

Actor サブクラスの基礎となるインスタンスは、完全に封印されており、Akka コード自体をいじらない限り、それに到達することはできません。ActorRef の定義を見ると、Actor への参照さえ含まれていないことがわかります。

同様に、 を使用して Actor サブクラスを直接インスタンス化することはできませんnew

Akka の設計者は ActorRef / Actor ファイアウォールに真剣に取り組んでいたと思います...

于 2013-01-11T16:00:47.390 に答える
3

AkkaTestkitは統合テスト用に作られています。アクターの内部状態にアクセスするには、アクセスを求めるメッセージをアクターに送信します。アクターは、 の送信者に返信できTestKitますtestActor

于 2013-01-11T16:32:03.940 に答える