2017-07-03 7 views
6

私は現在、マイクロサービスアーキテクチャでkafkaを実装しているプロジェクトに取り組んでいます。 pf-jvmを使用してカスカトピック相互作用にmSの契約テストケースを作成するのに成功しましたか?kafkaがマイクロサービスアーキテクチャに関係している場合の契約テストの実装方法は?

私の実装では、microservice1がメッセージをRESTクライアントに公開し、メッセージをKafkaトピックにポストします。 microservice2はGETメソッドを使用してカフカトピックからメッセージを取得します。

答えて

10

Pact-JVMは、ある種のメカニズム(通常はメッセージキュー)で消費される(一方向の)メッセージをカプセル化するMessage Pactsをサポートしています。アイデアは、コンシューマコードをテストしてコンシューマテストを介してメッセージを消費し、次にプロバイダが適切なメッセージを生成することを確認することです。実際のメッセージキューはテストでは使用されません。

Contract over a message queue

これは元々、マイクロサービスはカフカのメッセージキューを介して通信するための契約のテストを適用するために開発されました。

テストは、コンシューマーがコンシューマー・パクト・テスト中にメッセージを読み取り、正常にパクト・ファイルが書き込まれることを除いて、Request-Response Pactテストと同様に2つの部分で行われます。次にプロバイダコードが呼び出されてメッセージが生成され、これがpactファイルの内容と比較されます。

enter image description here

協定-JVMのドキュメントの関連セクションは、以下のとおりです。ロナルド・holshausen @

+0

おかげで、あなたはまた、を指すことができますコンシューマJVMセクション。契約iどうしたらいいの? –

+0

確かに、JUnitテストのリンクは次のとおりです:https://github.com/DiUS/pact-jvm/blob/master/pact-jvm-consumer-junit/README.md#consumer-test-for-a-メッセージ消費者 –

関連する問題