TL;DR
内容
TDD のサイクル
本章では、TDD のサイクルを一周回した。サイクルは次の 5 つの手順からなる。
- 小さいテストを書く
- すべてのテストを実行し、1 つ失敗することを確認する
- 小さい変更を行う
- 再びテストを実行し、すべて成功することを確認する
- リファクタリングを行い、重複を取り除く
依存性と重複
テストコードと本番コードの間にある重複は、それ自体は問題ではない。問題なのは依存性である。依存性があると、本番コードを変更したときにテストコードも変更する必要があり、その逆も起こる。
依存性の問題があると、その症状として重複が現れる。ロジックの重複がその例である。オブジェクト指向プログラミングでは、抽象化によって重複を取り除ける。重複を取り除けば依存性も解消されるので、TDD では次のサイクルに移る前に重複を取り除く。