🛣️

テストコード?書こうとは思うんですけど時間がとれないんですよね

2024/04/07に公開

誰向けの記事?

  • テストコードがあるといいとは知っている
  • でもテストコードを書くことが習慣づいていない

こうなってない?

  • 目的の機能を実装する
  • 当該コードにテストがない
  • テストコードを書こうとする
  • すぐには書けなそう
  • 「時間がないのでテストは書きません。後で書きます」
  • はじめに戻る

原因は本当に時間がないから?

  • テスタビリティ(テスト容易性・テストが簡単に記述・実行できるか)のあるコードを書いていないからでは
  • テスタビリティがあるかどうかを簡単に判断するのはテストを書くこと
  • テスタビリティは設計段階で考慮する必要がある
  • 設計段階でテストを書くことで、テスタビリティが担保されているか確認することができる

これがテストを早い段階で書くことの一つのメリット

テストコードを書き慣れていないからこそ

  • 実装を先にしてからテストを書くことが悪いわけではない
  • テスタビリティの高いコードを書けていれば、テストを後から追加することは比較的容易である
  • ただし、テスタビリティの低いコードを後から高いものにすることは、はじめからテスビリティ意識してコードを書くよりも難しい
  • コードのテスタビリティを判断するにはテストコードを書く経験が必要

これらの理由からテストコードを書き慣れていない人ほど早い段階で書いたほうがいい

NCDCエンジニアブログ

Discussion