テスト駆動開発について調べました。
テスト駆動開発とは・・・
テストコードを最初に書いていき、そのコードに合うような実装をしていくテストファーストな開発手法のことです。
基本サイクルというものがあり、
1.テストコードを書く
2.テストコードをクリアする実装をする
3.リファクタリングする
の3工程です。
1の段階では、エラーになっても問題無いです。
むしろエラーになることが正です。(実装がないため)
エラーにならない場合は、何かが変なので確認しましょう。
2の段階では、テストコードをとりあえず何でもいいからクリアするコードを書きます。
値の直打ちするとか何でもよいです。エラーにならないようにしましょう。
エラーが出ない状態なだけで、意味のあるコードにはなっていません。
3の段階では、エラーにならないように機能を実装していきます。
ここでようやく意味のある実装になっていきます。
注意しなければいけないのは、2の段階で放置されてしまうことです。
エラーにならないので、後回しにすると後々大変な目にあいます。
テスト駆動開発のメリットは
・バグが出にくい
・ちゃんと仕様を把握してから実装できる
といったことが挙げられます。
デメリット(単純に工数が増える)もあるので、使いどころをしっかり考えて
上手く活用していきましょう。