振舞いベースのテストを明確に書く方法
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ができたのだ。