この本で言っているユニットテストとは?
→オブジェクト間の振る舞いを表すテスト。
あるメソッドを呼んで、それがどういった戻り値を返すといったことをテストするのではなく、
あるメソッドにオブジェクトを渡した時にそれが内部でどう扱われているかといったことをテストする。
振る舞いをテストするといった時にテストコードがスパゲッティになることを防いで、
やるテストをはっきりさせること。
メソッド名で振る舞いを表せれば、テスト内容も振る舞いに寄って行きそうだよね。
ユースケースシナリオ
ユースケースシナリオとユニットテストの間でこのデータがどこのテーブルと関連づいているかは
テストする前にはっきりさせておく必要がある。
列車事故が悪いのは、
・クラスの内部構造まで把握しなければいけないこと
・呼び出し元が期待した結果を一発で返していないこと
・テストを保守するときに難しくなる
複数の責務がある場合にはその責務は全て分割されているのであれば、
それをまとめる行為に別の名前があるから、その名前がメソッド名になる。
0 件のコメント:
コメントを投稿