第34章 Mock
producer のみサポート対象
分散および非同期処理のテストは、特に困難です。Mock、Test、および Dataset のエンドポイントは Camel Testing Framework で優れた機能を提供し、強力な Bean 統合とともに エンタープライズ統合パターン と Camel の幅広いコンポーネントを使用してユニットおよび統合テストを簡素化します。
Mock コンポーネントは、強力な宣言型テストメカニズムを提供します。これは、テストの開始前に Mock エンドポイントで宣言的期待を作成できるという点で jMock と似ています。次に、テストが実行されます。これは通常、1 つ以上のエンドポイントに対してメッセージを実行し、最終的にはシステムが期待どおりに機能するようにテストケースで期待をアサートできます。
これにより、以下のようなさまざまなことをテストできます。
Mock エンドポイントである Test エンドポイント もありますが、2 番目のエンドポイントを使用して想定されるメッセージ本文のリストを提供し、Mock エンドポイントアサーションを自動的に設定します。つまり、File または データベース の一部のサンプルメッセージからアサーションを自動的に設定する Mock エンドポイントです。以下に例を示します。
Mock エンドポイントは、受信したエクスチェンジを無限にメモリーに保持します。
Mock はテスト用に設計されていることに注意してください。Mock エンドポイントをルートに追加すると、エンドポイントに送信された各エクスチェンジは、明示的にリセットするか JVM が再起動するまで、メモリーに保存されます(後続の検証を許可します)。高いボリュームや大きなメッセージを送信する場合は、メモリーを過剰に使用する可能性があります。目的が deployable ルートをインラインでテストする場合は、Mock エンドポイントをルートに直接追加するのではなく、テストで NotifyBuilder または AdviceWith を使用することを検討してください。新しいオプションは retainFirst と retainLast の 2 つあり、Mock エンドポイントがメモリーに保持するメッセージの数を制限するために使用できます。
34.1. URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
mock:someName[?options]
mock:someName[?options]
someName は、エンドポイントを一意に識別する任意の文字列にすることができます。