山本@エプソンコーワです。
27. Unit Testingを訳しました。
お気づきの点があればお願いします。
-----------------------------------------------
Unit Tests
それぞれのクラスはユニットテストを持っていなければならない。すべてのクラ
スのユニットテストは100%の点を取らなければならない。C3プロジェクトにおい
て、私達はKent Beckのパブリックドメインテスティングフレームワーク−すべて
のテストを実行し、正しいパーセントを示すGUIによって拡張されている−を使う
。この文章を書いた時点で、1300個以上のユニットテストがあり、それらすべて
は100パーセントで動く。
クラスが書かれる前に、私達は、ユニットテストが書かれるように勧める。
これは、クラスが本当にあるべきものであるかに注目するのに良い方法である。
ともかく、クラスはそのユニットテストがテスト一式に入るまで使用されない。
クラスがリリースされる時には、すべてのユニットテストは100パーセントで動い
ているにちがいない。すべてだ。すなわち、もしあなたが起こす変化によって、
他のクラスのためのユニットテストが通らなくなるならば、あなたがリリースす
る前に、問題は解決されているにちがいない。
反論
もし私がテストを壊した人でないとすれば?または誰かが私のクラスを誤って使
っていたら?
・あなたがリリースする前に100パーセントでユニットテストが動いたわけだ
から、あなたがテストを通らなくしたのである。
・もし誰かがあなたのクラスを間違って使っているならば、それらがリリー
スされた時、なぜテストは100パーセント動作したのか?あなたが変更した
何かが問題を起こしたのである。なぜなら、あなたが自分のコードをリリ
ースし始める前に100%でテストが動いたとあなたは知っているから。
・たとえクラスが間違って使われても、あなたはリリースする前に問題を解
決する必要がある。あなたのクラスを使っている人と必要があれば組みな
さい。
ポイントを強調するために:
すべてのユニットテストはずっと100パーセントで動かなくてはならない。
---
オリジナル http://www.xprogramming.com/
Copyright (c) 1999, REJeffries et al. (ronjeffries@....org)