TDD > モック / スタブ

  • 49
    いいね
  • 0
    コメント

TDDを行う上で使われるものにモックとスタブというのがある。

色々情報を見ても、二者の違いの解釈は色々あってわかりにくかった。

  1. wikipedia
  2. 「スタブ」と「モック」は全然違うものなんですよ
  3. テストダブル
  4. RSpec でテストを作るのに役立つ「モック/スタブ」のシンプルな説明
  5. スタブとモックの違いについて
  6. The Difference Between Mocks and Stubs

上記を読んで一番わかりやすいと思ったのが4番のリンクで書かれていた以下のものだった。

  • モック: 「オブジェクトのメソッドがどう呼ばれて何を返すか」というインタフェースも含めたテストのために使う
  • スタブ: テストをスムーズに行うために「あるオブジェクトのメソッドが呼ばれたら、ある戻り値を返す」ために使う



(追記 2017/06/06)
肝心の4番の日本語記事がなくなったようです。
そのページに記載されている英語記事へのリンクはうまくつながらない。

以下が英語の記事のようです。
http://blog.morizyun.com/blog/mock-stub-outline-rspec-ruby/