なひです。
カバレジの話については、お互いに情報交換をしたかったのであり、
「なひはこうすべきだ」「山根さんはこうすべきでない」とかいう
話じゃないので、クローズでよいと思います。後は雑談。
# 雑談を聞かされるのが嫌な人が居たら申し訳ないです。
> From: Eiji Yamane [mailto:e-yamane@....jp]
> Sent: Friday, August 02, 2002 11:43 PM
> > 事前条件としてi != 0という仕様の場合、テストすべきは
> > Foo#rateFor100ではなく、これを呼び出している例えば
> > Bar#createReportなどで、「Foo#rateFor100を呼び出すときに
> > 絶対に0を渡さないこと」をテストする必要がありますね。
> と言われると、やはり「必要に応じて」と答えてしまいます。f(^_^;
> #なひさんのおっしゃる通り、人それぞれですね。
>
> コードを書いた(書く)人とペアが、必要と感じれば、
> 品質に自信をもてるまでテストすればいいでしょうね。
>
> ただしこの場合は、テストファーストで、この試験は出来ないはずなので、
> 「自信がない時」のテストラストと言うことになるとは思います。
Barについて「Foo#rateFor100を呼び出すときに絶対に0を渡さないこと」
は、「BarはBarの呼び出し側に対してArithmethicExceptionを投げない」
という仕様だと考えられますから、Barを書く時点で
テストファーストで仕様決定 && テストできませんかね?
もちろんこれが、著しく難しい(素晴らしく良い鼻を必要とする)ことだ
という点には同意しますが。^^;
# 実際の場面で↑をすべきかどうかについては、なひは
# 「要求に従って必要に応じて」でいいと思ってますので、
# 本題には影響はありません。