Studio のテストレコーダー

テストレコーダーを使用すると、処理フローを記録してから、取得されたイベントに基づいてユニットテストを設定できます。

テストレコーダーは、Anypoint Studio でアプリケーションの実行中に実際のデータを取得します。フロー実行を取得することで、MUnit では自動的に MUnit テストが生成され、ユーザーはテストに必要なモックやアサーションを設定できます。完全な実例は、​「Exchange からのテストの記録の例」​を参照してください。

互換性

次の表に、テストレコーダーを使用するのに必要な製品バージョンを示します。

製品 バージョン

Anypoint Studio

7.5.0 以降

MUnit

2.2.5 以降

MUnit Anypoint Studio プラグイン

2.5.0 以降

Mule Runtime Engine

4.3.0 以降

制限事項

MUnit テストを作成するときに、テストレコーダーには次の制限があります。

  • フローの内部で Mule エラーが発生する場合や、受信イベントにすでにエラーが存在する場合、それらが ​on error continue​ エラーハンドラーで制御される場合であっても、フローのテストは作成できません。

  • 記録されたフローの実行は正常に終了しますが、アプリケーションが停止されているため、結果は宛先に到達しません。

  • spy​ プロセッサーまたは ​assert​ プロセッサーでランダムデータ、時間に依存する情報 (タイムスタンプなど)、並列プロセスの結果の値をアサートするように設定すると、それらの値は実行するたびに変化するため、テストを実行するたびに検証が失敗します。

  • 並列プロセスの結果の値をモックすると、テスト内の後続のプロセッサーの実行で実際のデータとモックされたデータが混在します。

  • レコーダーは、フロー内での再帰やループなどのデータ反復をサポートしていますが、テスト対象のデータの構造が反復内で変化するケースはサポートしていません。

  • レコーダーは、​foreach​ プロセッサーの前または内部のメッセージのモックはサポートしていません。

  • テストレコーダーを使用してフローに対するテストを生成する場合、フローに含まれているパラメーターしかモックできません。テストレコーダー UI を使用して、サブフローまたは参照されるフローのパラメーターをモックすることはできません。プロジェクトで他のプロセスのサブフローのパラメーターをモックする必要がある場合は、テストの作成後にモック元のコンポーネントを変更できます。