03.深い悩み

そもそも、テストコードって何の目的で書くのでしょうか?

  • 書く事が良しとされているから?
  • TDD でモダンな開発を実践できるから?
  • バグの発見と修正の検証のため?
  • こう振る舞うべきって仕様を書いておくのにちょうどいいから?

たぶんどれもが正解なんだと思います。

じゃあコントローラもレンダリング結果も API レスポンスのパターンも全部細かくテストして、e2e でシナリオテストを書けば完璧じゃん!って思いましたが、そうではないような気がします。そんな事を実践したら、膨大なテストコードを書く時間と、ちょっとした仕様変更のたびに何十箇所も修正するコストがかかってしまいますよね。

テストコードって実装した機能の完成度が高まる感じがして結構書くのが好きだったんですが、ここへ来て何のために書くのか分からなくなってしまいました。