2012/02/25

TDDする時は少しでもコードを書いたら即ビルド・テストを実行させる

Test-Driven Development for Embedded C (Pragmatic Programmers)」の第1章「Test-Drivern Development」 p.8に以下の記述がありました。
With every change, run the tests. The tests show you when the new code works; they also warn when a change has unintended consequences. In a sense, the code screams when you break it!
この本ではコードがテストされていない期間を可能な限り短くすることを強調していて、理想的には少しでもコードを書いたらビルドしてテストすべきと推奨しています。聞いたところによると、Kent Beckもかなり短いサイクルでコーディングとテストをまわすことを推奨しているとか。これはアジャイル開発に共通する考え方ですね。

Eclipse CDTでやる場合は、プロジェクトのプロパティ -> C/C++ Buildタブ -> Behavior -> Build on resource save (Auto build) にチェックを入れます(下図を参照)。必要に応じてビルドターゲットも設定しましょう。


実際にやってみるとちょっとした記述ミスがあると、すぐにテスト失敗が起きて知らせてくれるので割と便利です。ただし、前提としてテストが数秒で終わらないと作業が止まってので、単体テストの処理時間は短くした方がよさそうです。

それでもテストが増えてくると、そうも言っていられないと思うので、自分が開発中のところだけテストを実行するようにテスティングフレームワークの設定をしておくと良いと思います。
一部をテストさせるやり方はまた後日ブログにのせたいと思います。


0 件のコメント:

コメントを投稿