オブジェクトをテスト駆動開発する
オブジェクトの網の目(オブジェクト指向システム=協力しあうオブジェクトの網の目)
not手続的、オブジェクトの網の目がどう振る舞うかについての宣言的な定義によってシステムの振る舞いを記述
どうやるかではなく何をしたいかに集中
メッセージに従うこと
ドメインモデルはコミュニケーションパターンの中に存在する
テストやモックオブジェクトが、オブジェクト間のコミュニケーションパターンを明確に見えるようにする
よくわからない。。
命じよ、訊ねるな
しかし、時には訊ねることもある
少なくとも、呼び出し元オブジェクトの意図を説明するように問い合わせを書く
値に対してはどんどん問い合わせをする
協力しあうオブジェクトのユニットテスト
インタフェースの発見
モックオブジェクトを用いてTDDをサポートする
テストに必要なモックオブジェクトを生成する。
テスト対象オブジェクトを含む、実際のオブジェクトを生成する。
モックオブジェクトに、テスト対象オブジェクトからどう呼び出されるかのエクスペクテーションを定義する。
テスト対象オブジェクトのメソッドを呼び出す。
結果として生じる値が全て正しいことと、期待された呼び出しが全て行われていることをアサートする。