Chapter3: Sensing and Separation 知覚と分離

Working Effectively with Legacy Code 読書メモ

  • Chapter3: Sensing and Separation 知覚と分離
    • レガシーコードは動作の結果どういう値が変化しているかを知る必要があり(sensing)、テストのために分離(separating)コードをいれる
    • Fake Object は被テストオブジェクトからは実体にみえるが、実際は実体リソースにアクセスしない
    • Fake Object を進歩させたのが Mock Object 。中でアサーションを発生させる Fake Object。
    • コラム: Fake Object使ったら、本モノのテストじゃないじゃん?・・・表示される1ピクセルを全部テストできてないんだからあんたがいう本モノも怪しいもんだ、と反撃を加えつつ、細かい粒度でテスト書けば素早いフィードバックがあってもっとうれしい的な方向へ持って行く。
    • junitをimportするjavaコードが初登場。junitは説明なし。assertを使いたかっただけみたい。