拡張機能の単体テスト

IAS拡張機能の単体テストでは、モックJavaクラスを作成し、単体テストを作成し、選択したツールからこれらのテストを実行します。

開発者は、単体テストでは次のインタフェースをモックする必要があります。

JUnitテスト・フレームワークをお薦めしますが、必須ではありません。JUnitフレームワークの使用方法の詳細は、http://junit.org/を参照してください。

サンプル実装に、JUnitテストのサンプルのセットが含まれています。これらは、<インストール・パス>\IAS\<バージョン>\sample\ias-extensionsにあります。

PipelineComponentConfigurationのテストについて

PipelineComponentConfigurationの単体テストの一般的な戦略は次のとおりです。
  • PipelineComponentConfigurationを構築し、モックPipelineComponentContextsetPipelineComponentContextを起動します。
  • 実装上でメソッドを起動し、正しい動作を確認します。

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()を起動し、取得がレコード処理を終了した後にマニピュレータが必要なクリーンアップを行うことを確認します。