なぜ書くの?
- 望んだ動きをしているかどうかを確認する手段
- 機能追加の時に楽ができる。既存部分への影響の有無を確認できる
- 修正する時の事を意識してコードを書くようになる(読む人・触れる人に優しくなれる)
- テストコードの内容から機能の理解度が高まる
- 外部から呼び出される機能のテストコードを書くと、呼び出し側の観点からの気付きが得られる
- あとでコードを綺麗に書き直す時に楽ができる。振る舞いが変わっていないかの確認手段。
- システムのリプレースの時に楽ができる
- フレームワークの載せ替えの時に楽ができる
- 言語のバージョン変更の時に楽ができる
イケてないことは?
- テストコードの用意に、開発と同じくらいの時間が必要となる
- 継続的なメンテナンスが無くなるとゴミ化する
もっとありそうだけど、ざっくりとこんな感じでした。
おわりに
一番刺さった言葉は「10行の変更を加えるために、全てのソースコードを読みたいか」でした。
実際のテストコードの書き方や、テストの美味しいやり方、テスト自動化ツール、
といった具体的な内容は後々調べます。
今回は、テストコードの必要性や、それがあることでどう楽ができるの?を調べてました。
以下のページを参考にまとめていたのですが、めちゃくちゃ深い内容まで書かれているので
すごい価値があると思います。もう学びしかない。
仕様変更に弱いからテストは書かない……?(´・ω・`)<仕様変更を想定するならテストを書いてくれ頼む
スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか
ユニットテストを書こう!
テストコード入門