読み進めていると結構よくて、実ははまってたりします。ちょっと英語が難しいので読みづらいですが、面白いので気にせずガンガン読んでます。データベースを含めたテストだとかWebのテストといった私が悩んでいる部分が載ってなくて、その点は確かに不満なのですが、もっと基礎的な部分、Test Firstの真髄を垣間見ることが出来るので、よい本です。
再認識したことは、Test Firstによって、APIの実装と処理の実装を分離しようということです。
(1)本体のクラスを作る前に、まずtestを書きます。ここで、どういうAPIがよいかその点に集中します。
(2)fake実装して、とりあえずcompileを通します。ここでAPIが出来上がります。
(3)testが通るように処理を実装します。ここでは、処理のコードに集中します。
(4)Refactoring.
というわけで、極めて(extreamly)実装寄りのTest Firstは、逆説的に、極めて設計重視な訳です。
動作テストのためのTestという目的も、もちろん同時にあります。
なるほど。APIと処理内容というふうに分けると、人に説明しやすいですね。
そうですね。Test Firstの話を他人にすると、書くコード量2倍になるの?と言われやすいです。APIならば説明しやすいでしょう。<br>結構(2)が強調されて書かれていました。return nullやreturn 5とか無意味な実装でもいいから、compileを先に通すべきだということです。そうすることでAPI実装に集中できます。この点を私は認識不足でした。