読者です 読者をやめる 読者になる 読者になる

聞かれてもいないことを喋る

どこの SNS よりも一番自然体な文章を書き残す場でありたい

ユニットテストと結合テスト

一行まとめ:俺の中でも結論出てない。

  • メソッド単位のユニットテストをがっちり書いてると、ある日クラス構造や依存関係を大幅にリファクタリングしたくなったときに、大幅にユニットテストを書き換えないといけなくて、それがたいへんだるい。
  • そこで結合テストである。
    • f:id:Cside:20140601173532p:plain

    • 具体的な例で言うと、クラス B 〜 D のメソッド単位のユニットテストをあえて書かず、それらうまい具合に網羅できるクラス A の結合テストを書いておくと、 クラス B 〜 D のリファクタリングが、テストを書き換えずともできる。
    • ただこの方法にもデメリットがあって、結合テストが落ちたときにクラス B 〜 D のどれに原因があるか突き止めにくい、というだるさがある。
  • なので、ユニットテスト結合テスト、どっちに比重を置いてコードを書くほうが最終的にスピード上がるのかなーと悩んでいる昨今。
    • 書けるケースであれば後者の結合テスト戦略で行ったほうが手戻り少なくて幸せになれそうな気がしている。
    • まだ実験中。