スタブ

単体テストをしよう!

まずは、下位モジュール(他のモジュールに依存しないモジュール)を単体テスト

で、それを使うモジュールを単体テスト

で、それを使うモジュールを単体テスト。。。


のように、なんとなく考えてしまってたけど、これって単体テストではなくて、結合テストボトムアップテスト)になってしまうんですね。


テスト済みの下位モジュールは、スタブのように扱えると思っていたのだけれど・・・

他のモジュールを組み込むことで、テストの結果に対して、本来のテストターゲット以外の要因が関わる可能性があります。

それは、テストの信頼性、テストの行いやすさを小さくしてしまいます。



スタブって、完成していないモジュールを代替する目的のみに用いるイメージを抱いていたけれど、
もし完成していたとしても、ピュアな単体テストを実行するために必要なものなんですね。


完成しているのにー

最終的には、その完成しているやつと一緒にシステムになるのにー

なんで、わざわざスタブをつくらなあかんのやー

って感じだけど、真の単体テストのために、スタブを作ります!!