Hard-to-Test Code
テストが書きにくい場合の例1
あるテスト対象オブジェクト(ドメイン)に不純物が混ざっている場合。時間の概念に関するもの、IO系と連携に関するもの、(外部)システムとの連携に関するもの、などなどが混在していると、テストを書くのが難しく傾向になる。テストを書こうとしてつまずいた際に、「なぜテストを書くのが難しいのか?」に思考を巡らし、テスト対象オブジェクトから不純物を取り除く活動が必要である。
テストが書きにくい場合の例2
テスト対象オブジェクトが、周りとおしゃべりしすぎている場合。テスト対象オブジェクトの前提条件のセットアップが大変である。テストを書こうとしてつまずいた際に、「なぜテストを書くのが難しいのか?」について思考を巡らし、オブジェクト間の関係を清算するする活動が必要。
テストが書きにくい場合の例3
キー概念となるバリューオブジェクトを発見できていない。サービスやエンティティやヘルパーにのっぺりと実装してしまっている。バリューオブジェクトのメソッドとサービスやエンティティのメソッドを比べ、バリューオブジェクトのメソッドの方がテストしやすい傾向がある。コアとなる振る舞いを、エンティティやサービスからバリューオブジェクトへ追い込む純化はバリューオブジェクト指向プログラミングの醍醐味の1つ。
Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
- 作者: Steve Freeman,Nat Pryce
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2009/10/12
- メディア: ペーパーバック
- 購入: 3人 クリック: 76回
- この商品を含むブログ (32件) を見る
xUnit Test Patterns: Refactoring Test Code (Addison-Wesley Signature Series (Fowler))
- 作者: Gerard Meszaros
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2007/05/21
- メディア: ハードカバー
- 購入: 5人 クリック: 210回
- この商品を含むブログ (66件) を見る