スタブ・データ・テーブルの目的は、スタブ・ルーチンにデータを提供することです。
スタブ・データ・テーブルは、特定の入力に対するスタブ・メソッドの出力における振る舞いを定義します。
スタブ・データ・テーブルを使用し、それぞれのスタブ・メソッドごとに実際の入力値と戻り値を指定して、スタブ・クラスをシミュレートしてください。
多くの点で、スタブ・データ・テーブルはテスト・データ・テーブルとかなり類似していますが、異なる点が幾つかあります。
- 入出力。
テスト・データ・テーブルはテストを駆動する入力値と予期出力値を定義しますが、スタブ・データ・テーブルは特定の入力値の結果である実際の出力値を定義します。
そのため、スタブ・データ・テーブルを使用して、スタブの部分に予測可能な振る舞いを実行させてみることができます。
- セットと範囲。
テスト・データ・テーブルの場合、セットと範囲は入力値、予期出力値、および戻り値に対して使用可能です。
スタブ・データ・テーブルの場合は、セットと範囲は入力値に対してのみ使用可能です。
- 例外。
テスト・データ・テーブルでは、例えば「java.lang.RuntimeException」のように例外の型を指定して、テストでその型の例外がスローされるかどうかを検査します。
スタブ・データ・テーブルでは、単に例外の型を指定するのではなく、例えば「new java.lang.RuntimeException("Outchhhh")」のように実際の式を書いて、例外をスローする振る舞いを指定します。