第9章 単体テスト
前書きは良くないテストの例。
サマリー
(pp.174-175)
- TDD 三原則 に従うと製品コードの量に匹敵する大量のテストコードを書かなくてはならない
(pp.175-176)
- 汚いテストを許容すると、製品コードの安全な変更を保証するためのテストスイートの保守コストが大きくなる
- テストをきれいに保つことは製品コードの品質を保つことにつながる
(pp.177-180)
(pp.180-183)
(pp.183-185)
- 1つのテストのアサート文の数はなるべく少なくするべき
- 1つのテストでは1つの概念を扱うべき
(p.186)
- クリーンテストは5つの規則がある(割愛)
考察・要約
TDD はテストを通じて設計を洗練する発見的な設計手法
- TDD ではテストコードと製品コードが密接に結びついている
- TDD のプロセスはコードの要件を明確にし、その要件を満たすように段階的に設計が発展する
単体テストは「使われ方」を定義し、TDD でその「使われ方」を満たす設計を発見していく
- まず失敗するテストを書く(=使われ方を定義)
- それを通すための最小限の実装を行う(=その使われ方を実現)
- このサイクルを繰り返して設計を発展させる(設計が変更されることもある)