これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

"Driven"しないテスト

WEB+DB PressのTDD特集記事より。
Facadeに対するユニットテスト
つまり他のコンポーネントを呼び出していること「だけ」を確認するテストは、
開発がDriveされるものではない(開発者に有用な情報を与えるテストにはならない)。
また、実装に強く依存するテストになりがちなので、
その資産価値も低い(リファクタリングで赤くなりやすい)。
なーるーほーどー。


最近、疑問に思ってたことに対する答えズバリ。
意味のないテストを書いている気がするんだけど、
何をもってテストを書く/書かないの基準にすればいいのか、
いまいちはっきりしないな〜、と思ってたんですよ。
以下の2点から考えればいいのか。

  1. Drivenしてるか?
  2. 資産価値は高いか?


XP祭りの懇親会でt-wadaさんが仰ってた、
カバレッジ率を上げるだけのテストはあんまり意味がない、
ってのもこの辺に起因するんだな、たぶん。


あと、こういったユニットテストを書かない代わりに、
これらは機能テストでテストされるようにしておく、
ってのも忘れちゃいかんですね。