Hahnah Chronicle

どっちがモックでどっちがスタブだっけ?

Authors
原井 夏樹
Published on

テストダブルはモックとスタブの2種類に大別できるが、何がモックで何がスタブかを簡単に説明する。

モックとスタブの例

テストにおいて、例えばHTTPリクエストとHTTPレスポンスをテストダブルに置き換えることを考えてみる。

  • HTTPリクエストを置き換えたものはモックであり、
  • HTTPレスポンスを置き換えたものはスタブである。

また、データベースから得るデータを置き換えて使う場合、それはスタブである

モックとスタブとは

モックとスタブでは、テスト対象システムから見たときのコミュニケーションの方向が異なる。
以下のそれぞれ説明する。

モック

モックは、テスト対象システムからその依存に向かって行われる出力を模倣したもの。

スタブ

スタブは、依存からテスト対象システムへ向かって行われる入力を模倣したもの。

終わり

意外と簡単でしょう?