Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第175章 Test
テストコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
テスト コンポーネントは Mock コンポーネントを拡張し、起動時に別のエンドポイントからメッセージをプルするようにサポートし、基礎となる Mock エンドポイントに想定されるメッセージ本文を設定します。つまり、ルートでテストエンドポイントを使用し、それに到達するメッセージは、他の場所から抽出される予想されるメッセージと暗黙的に比較されます。
そのため、たとえば、予想されるメッセージボディーのセットをファイルとして使用できます。これにより、適切に設定された Mock エンドポイントが設定されます。これは、受信したメッセージが予想されるメッセージの数に一致し、メッセージペイロードが等しい場合にのみ有効です。
Camel 2.8 以前を使用している場合、Maven ユーザーは、このコンポーネントの
pom.xml
に以下の依存関係を追加する必要があります。
Camel 2.9 以降では、Test コンポーネントは camel-core に直接提供されます。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
test:expectedMessagesEndpointUri
test:expectedMessagesEndpointUri
expectedMessagesEndpointUri は、テストを開始する前に想定されるメッセージボディーがプルされる他の Component URI を参照します。
URI オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前 | デフォルト値 | 説明 |
---|---|---|
timeout
|
2000
|
Camel 2.12: URI からメッセージボディーをポーリングする際に使用するタイムアウト。 |
anyOrder
|
false
|
Camel 2.17: 予想されるメッセージが同じ順序で到達するか、または任意の順序で到達できるかどうか。 |
split
|
false
|
Camel 2.17: 有効にすると、テストエンドポイントからロードされたメッセージは \n , \r delimiters (新しい行)を使用して分割されるため、各行が想定されるメッセージになります。たとえば、file エンドポイントを使用して、各行が想定されるメッセージである ファイルを読み込むには、以下を実行します。
|
delimiter
|
\n|\r
|
Camel 2.17: 分割が有効な場合に使用するスプリット区切り文字。デフォルトでは、区切り文字は新しい行ベースです。区切り文字は正規表現にすることができます。 |
例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
たとえば、以下のようにテストケースを作成できます。
from("seda:someEndpoint"). to("test:file://data/expectedOutput?noop=true");
from("seda:someEndpoint").
to("test:file://data/expectedOutput?noop=true");
テストによっ て MockEndpoint.assertIsSatisfied (camelContext)メソッド が呼び出されると、テストケースが必要なアサーションを実行します。
以下は、Mock と Spring を使用したテストケース例と Spring XML の例です。
テストエンドポイントに他の期待を設定する方法は、Mock コンポーネント を参照してください。