振舞いベースのテストを明確に書く方法

Jay Fields' Thoughts: Testing: One expectation per test

テストメソッドにて

  • assertionがあるときはmockを使うな。そのかわりstubを使え。
  • mockを加えるときは、意味のある値を返す必要はない。返り値を確かめないだろうから。
  • すでにmockがある場合はstubsメソッドを使え。
  • stubにwithを使うな。stubでは引数のチェックをする必要がないから。
  • stubを返すときはstub_everythingを使ったほうがいい。

こうすることで、ひとつのテストメソッドはひとつのassertionかひとつのexpectationをチェックすることになる。おかげで、何をテストしているのかが明確になる。この信念があるからexpectationsというすばらしいunit testing frameworkができたのだ。