apache-camelApache-CamelおよびSpring(およびDBUnit)を使用した既存のルートでの統合テスト


前書き

このwikiのポイントは、Apache Camelを使用して統合テストを実行する方法を示すことです。

より正確には、これを実行すると、既存のルートを最初から最後まで(実際のデータベースの有無にかかわらず)立ち上げたり、ルートの各部分との交換を傍受したり、ヘッダーや本文が正しいかどうかをテストすることができます。

私がこれまで行ってきたプロジェクトでは、xml構成の古典的なSpringとDBUnitを使ってテストデータベースを模擬しています。これがあなたにいくつかのリードを与えることを願っています。

パラメーター

パラメータ/機能詳細
交換この交換はラクダのプロセッサーの中であなたのルートの部分
CamelContext テストでは、ラクダのコンテキストを使用して、コンテキストを手動で開始および停止します。
ProducerTemplate あなたのルートでメッセージを送信したり、手動で完全な交換を設定したり、ダミーのヘッダ/ボディを送信したりすることができます
AdviceWith 現在のコンテキストで既存のルートを再定義するのに役立ちます
WeaveById 設定のアドバイスの中で使用され、あなたのルートの部分に振る舞いを伝えます( weaveByToStringも使えます
MockEndpoint モックエンドポイントは、テスト用に定義したポイントです。あなたのweaveByIdでは、あなたのルートに通常の処理を伝えることができ、普通のルートに従うのではなく、mockEnpointに入ることができます。この方法で、メッセージ数、交換ステータスを確認することができます...

備考

いくつかの定義は完全には正確ではありませんが、上記のコードを理解するのに役立ちます。より詳細な情報を得るためのリンクがいくつかあります:

この特定のテスト方法は、スタックのオーバーフローであっても、見つけるのはかなり難しいです。これはかなり具体的ですが、詳細を尋ねるのをためらうことはありません。おそらく私は助けることができます。

Apache-CamelおよびSpring(およびDBUnit)を使用した既存のルートでの統合テスト 関連する例