ロンドン学派(単体テスト)
from
古典学派とロンドン学派の違い
もっとも著名な提唱者が書いたのが
実践テスト駆動開発(翔泳社)
で読める
この学派は
テスト対象システム
(
System Under Test
: SUT)から
協力者オブジェクト
(collaborator)を隔離することだと考える
すなわちテスト対象となるクラスが他のクラスに依存するなら、その依存は全て
Test Double
におきかえなければならない
ただしイミュータブルであれば置き換える必要はない
共有依存
と
可変依存
が協力者オブジェクトである
利点
失敗したときに、コードベースのどこで問題が起こったのか明確になる
オブジェクトグラフの分離
オブジェクトグラフ
とは同じ問題を解決するために結び付いたオブジェクトの集まりのこと
オブジェクトの複雑な依存関係をシンプルにでき、1テストケース=1クラスの試験という可読性の高いスタイルが無理なくできる
特に複雑なシステムでは循環依存していることがあるが、これを断ち切ることが出来る