IAS拡張機能の単体テストでは、モックJavaクラスを作成し、単体テストを作成し、選択したツールからこれらのテストを実行します。
開発者は、単体テストでは次のインタフェースをモックする必要があります。
- PipelineComponentContext
- PipelineComponentRuntimeContext
- OutputChannel
- ErrorChannel
JUnitテスト・フレームワークをお薦めしますが、必須ではありません。JUnitフレームワークの使用方法の詳細は、http://junit.org/を参照してください。
サンプル実装に、JUnitテストのサンプルのセットが含まれています。これらは、<インストール・パス>\IAS\<バージョン>\sample\ias-extensionsにあります。
PipelineComponentConfigurationのテストについて
PipelineComponentConfigurationの単体テストの一般的な戦略は次のとおりです。
- PipelineComponentConfigurationを構築し、モックPipelineComponentContextでsetPipelineComponentContextを起動します。
- 実装上でメソッドを起動し、正しい動作を確認します。
DataSourceRuntimeのテストについて
DataSourceRuntimeの単体テストの一般的な戦略は次のとおりです。
- モックOutputChannel、モックErrorChannelおよびモックPipelineComponentContextを含むモックPipelineComponentRuntimeContextで、DataSourceRuntimeを構築します。
- データソース拡張機能が自身の増分を決定する場合、IncrementalDataSourceRuntimeを構築します。
- DataSourceRuntime.runFullAcquisition()を起動し、モックOutputChannelに正しいレコードが出力されることを確認します。
- IncrementalDataSourceRuntime.runIncrementalAcquisition()を起動し、モックOutputChannelに正しいレコードが出力されることを確認します。これは、IncrementalDataSourceRuntimeを構築した場合に必要です。
- 無効またはエラーのあるレコードを破棄するために必要に応じてErrorChannel.discard()を起動し、無効なレコードがモックErrorChannelに対して破棄されることを確認します。
ManipulatorRuntimeのテストについて
ManipulatorRuntimeの単体テストの一般的な戦略は次のとおりです。
- モックOutputChannel、モックErrorChannelおよびモックPipelineComponentContextを含むモックPipelineComponentRuntimeContextで、ManipulatorRuntimeを構築します。
- ManipulatorRuntime.checkFullAcquisitionRequired()を起動し、完全取得が必要かどうかをマニピュレータが正しく識別するかを確認します。
- ManipulatorRuntime.prepareForAcquisition()を起動し、取得が開始する前にマニピュレータが必要な準備を行っていることを確認します。
- テスト・レコードを構築し、このテスト・レコードをManipulatorRuntime.processRecord()に渡し、正しいレコードがモックOutputChannelに出力されていることを確認します。
- 無効またはエラーのあるレコードを破棄するために必要に応じてErrorChannel.discard()を起動し、無効なレコードがモックErrorChannelに対して破棄されることを確認します。
- ManipulatorRuntime.onInputClose()を起動し、取得がレコード処理を終了した後にマニピュレータが必要なクリーンアップを行うことを確認します。