スタブ
単体テストをしよう!
まずは、下位モジュール(他のモジュールに依存しないモジュール)を単体テスト。
で、それを使うモジュールを単体テスト。
で、それを使うモジュールを単体テスト。。。
のように、なんとなく考えてしまってたけど、これって単体テストではなくて、結合テスト(ボトムアップテスト)になってしまうんですね。
テスト済みの下位モジュールは、スタブのように扱えると思っていたのだけれど・・・
他のモジュールを組み込むことで、テストの結果に対して、本来のテストターゲット以外の要因が関わる可能性があります。
それは、テストの信頼性、テストの行いやすさを小さくしてしまいます。
スタブって、完成していないモジュールを代替する目的のみに用いるイメージを抱いていたけれど、
もし完成していたとしても、ピュアな単体テストを実行するために必要なものなんですね。
完成しているのにー
最終的には、その完成しているやつと一緒にシステムになるのにー
なんで、わざわざスタブをつくらなあかんのやー
って感じだけど、真の単体テストのために、スタブを作ります!!