2016-11-18 20 views
0

私は以下のメッセージフローを持っています ConnectionActor - (RawMessage) - > ParserActor - (ParsedMessage) - > ProcessingActor - (DataMessage) - > DataStoreActor。送信者に何も送信しないアクターをテストする方法

ParserActorが特定のRawMessageを受け取ったときに、自分のProcessingActorが適切なDataMessageを送信していることをテストします。 Akka.TestKitを使ってそれを行うことは可能ですか?

答えて

1

さらに進む前に、ストリーム処理を簡単かつ迅速に行うことができない場合は、Akka.Streamsをご覧になることをおすすめします。

これを考えると、フロー内の2つのアクター間のリンクを、public ParserActor(IActorRef processingActor)のようにアクターのコンストラクターに渡したIActorRefというように表現できます。このようにして、フローのコンポーネントを分離し、標準のテストプローブまたはアクタを使用してそれらの間の接続をモックすることができます。

+0

答えをいただきありがとうございます。私はAkka.Streamsを見ていきます。 実際にはDIを使用していますので、俳優のリファレンスをコンストラクタに配置するのは簡単ではありません。私は、DataStoreActorリファレンスでConfigureメッセージを送信してProcessingActorのDataStoreActor refを設定することにしました。 – bonzaster

関連する問題