モックとスタブ

よく分からなくなったのでメモ

モック・・・テスト対象のモジュールが呼び出しモジュールを正しく呼び出せているかテストするために、呼び出しモジュールを置き換えるもの。 例)テスト対象が必ず一回しか呼び出されてないモジュール(TargetMd)が存在するとする。この時、TargetMdが複数回呼び出されたことが検知できるような作りのモックに置き換える。

スタブ・・・テスト対象のモジュールが呼び出すモジュールのメソッドが毎回同じ値を返すようにしたい場合などに用いるのがスタブ。 例)テスト対象がRand.NextInt()などを呼び出すが、テスト時は特定の値を返してほしい場合定数値を返すように書き換えるのがスタブ。