スタブ・データ・テーブルの目的は、スタブ・ルーチンにデータを提供することです。スタブ・データ・テーブルは、特定の入力に対するスタブ・メソッドの出力における振る舞いを定義します。スタブ・データ・テーブルを使用し、それぞれのスタブ・メソッドごとに実際の入力値と戻り値を指定して、スタブ・クラスをシミュレートしてください。
各スタブ・データ・テーブルはスタブ・スクリプト内の特定のメソッドにマップされるため、
それぞれのスタブ・メソッドごとに別個のスタブ・データ・テーブルが作成されます。スタブ・スクリプトに対する作業中に、カーソルをあるメソッドから別のメソッドに移動すると、「スタブ・データ・テーブル」ビュー
が自動的に更新されます。スタブ・スクリプトを最初に開いたときには、カーソルをスタブ・スクリプト内のメソッドに移動するまで、スタブ・データ・テーブルは表示されません。
注: スタブ・データ・テーブルとスタブ・スクリプトを予想通りに同期化する
ためには、オプションが使用可能になっていることを確認してください。
以下の画面には、スタブ・データ・テーブルの例が示されています。
スタブ・データ・テーブルには
コンテンツ・アシスト が
あり、
Ctrl+Space を押すと、コンテンツが自動的に完了します。また、スタブ・データ・テーブルでは、構文およびデータ型についての妥当性検査が自動的に行われて、
ユーザーが入力したデータが構文的に正しいことが保証されます。
注: スタブがコンパイルできない場合は、
構文の検査は自動的にオフにされます。
スタブ・データ・テーブルを使用すると、テスト・データ・テーブルの場合と同じ方法で以下の作業を実行できます。
- 式、セット、範囲、およびデータ・プールの形式でのスタブ・データの提供
- 配列へのエレメントの追加
- オブジェクト・データ型の属性用のスタブ・データの提供
- データ・セット (等価クラス) へのデータの区分化
- 互換性があるコンテンツのデータ・セット間での切り取り、コピー、および貼り付け
- データ・セットのブレークポイントの指定
多くの点で、スタブ・データ・テーブルはテスト・データ・テーブルとかなり類似していますが、異なる点が幾つかあります。
- 入出力 : テスト・データ・テーブルはテストを駆動する入力値と予期出力値を
定義します。スタブ・データ・テーブルは特定の入力値の結果である実際の出力値を定義します。そのため、スタブ・データ・テーブルを使用して、スタブの部分に、予測可能な振る舞いを実行させてみることができます。
- セット、範囲、およびデータ・プール: テスト・データ・テーブルの場合、セット、範囲、およびデータ・プールは入力値、予期出力値、および戻り値に対して使用可能です。スタブ・データ・テーブルの場合、セット、範囲、およびデータ・プールは入力値に対してのみ使用可能です。
- 例外 : テスト・データ・テーブルでは、例えば「java.lang.RuntimeException」のように例外の型を指定して、テストでその型の例外
がスローされるかどうかを検査します。スタブ・データ・テーブルでは、単に例外の型を指定するのではなく、例えば「new java.lang.RuntimeException("Exception")」のように実際の式を書いて、例外をスローする振る舞いを指定します。