単体テスト
定義
自動化されていて、次の 3 つの性質をすべて備えるものが単体テスト
「単体(unit)」と呼ばれる少量のコードを検証する
実行時間が短い
隔離された状態で実行される
ロンドン学派 v.s. 古典学派
「隔離」が意味することについての解釈や議論から 2 つの学派に
ロンドン学派が抱える隔離
少量のコード(単体)を隔離してテストする #とは
テスト対象システム(System Under Test: SUT)から協力者オブジェクト(collaborator)を隔離すること、をロンドン学派では隔離と考えている
良い単体テストを構成する 4 本の柱
退行(regression)に対する保護
リファクタリングへの耐性
迅速なフィードバック
保守のしやすさ