モックとは
学習者モックとスタブ、どっちも「偽物」だよね?違いがよく分からなくて、いつも雰囲気で使ってる…。
モックとスタブの違いについて
どちらもテスト用の偽物ですが、役割が違います。
スタブは「テストに必要な入力を与える」ためのものです。 テスト対象が依存している部品に、都合の良い値を返させます。
モックは「外部への出力が正しく行われたか検証する」ためのものです。
つまりスタブはArrangeで使い、モックはAssertで使います。 データの流れで言えば、スタブは外から中への入力、モックは中から外への出力を扱います。