Index: [Article Count Order] [Thread]

Date:  Tue, 19 Sep 2000 09:57:37 +0900
From:  "Toru Koido" <koido@....jp>
Subject:  [XP-jp:00898] テストのためだけのメソッド
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <00Sep15.154151jst.27780@....jp>
References:  <B5EA5B13.37D8%khosokawa@....com> <00Sep18.172636jst.115203@....jp>
Posted:  Fri, 15 Sep 2000 15:41:48 +0900
X-Mail-Count: 00898

久々に参加できそうなので、記入させていただきました。
小井土@オーエスケイです。
#長い間ROMしていました。

> > そう、私も疑問に思っています。あまり厳格に決まっていないのでしょう。私
は、テ
> > ストも refactor の対象だと思っているので、きれいにするために helper 的な
コー
> > ドを追加することは必要だと思います。システムに対する YAGNI は、違反して
いま
> > すが、テストに関しては、(今テストコードをきれいにするために必要だから)
違反
> > していないと思っています。
>
> 現時点では、私は、テストのためだけのメソッドを追加することは
> 反対の立場です。ただ、これは確固たる信念、あるいは理論武装
> があってのことではなくて、直観的なものです。もしかしたら明日
> には逆の意見を持っているかもしれません。
>
> 本家のほうでは何か意見があるのでしょうか?
>
> あるいは、このMLのメンバの意見もうかがってみたり、議論してみ
> たいですね。

私は、矢崎さんに賛成です。

私は、テストとクラスは独立したものであることが重要だと考えます。
依存関係的には、テスト->クラスであって、この関係は物理的にも論理的も
崩すことはよくないと考えます。

テスト専用のメソッドを追加することは、この関係を論理的に壊していることに
なるからです。

C++のようなコンパイラでは良く、デバック版とリリース版とわけてテスト用のメ
ソッドを
クラスに組み込むことは良くやっていますが、これではリリース版ではテストができ
な
いことになるのでXP的には論外と思います。

しかし、インスタンスに自分の状態をチェックするメソッドなどは、必ずしもテスト
のため
だけとは言えないので、OKということもありだとは思います。

いかがでしょうか。