紛らわしいmock / spy / doble / stubあたりの用語
Stub
ダミーの処理結果を返す事で依存関係にあるインスタンスの振る舞いを制御する
テスト対象の外部依存部分を簡略化した代替品
Mock
データ構造のダミー的な意味合い
たまにdouble的な処理のダミーを当てたオブジェクトみたいな意味合いでも使われてたりする
doble
テスト対象が依存している外部オブジェクトのダミーを作る
メソッドには何も反応しないのがデフォルト
スタブするメソッドだけ意図的にすり替える
「テストダブル(test double)」の “ダブル(double)” は、映画や演劇の “スタントダブル(stunt double)” から来ています。
つまり――
本物の役者の代わりにアクションシーンを演じる「代役」=スタントダブル
と同じように、本物のコンポーネントの代わりにテスト中だけ振る舞う「代役」=テストダブルという発想です。
Spy
doubleのデフォルトで全てのメソッドに反応するバージョン