WEB+DB PressのTDD特集記事より。
Facadeに対するユニットテスト、
つまり他のコンポーネントを呼び出していること「だけ」を確認するテストは、
開発がDriveされるものではない(開発者に有用な情報を与えるテストにはならない)。
また、実装に強く依存するテストになりがちなので、
その資産価値も低い(リファクタリングで赤くなりやすい)。
なーるーほーどー。
最近、疑問に思ってたことに対する答えズバリ。
意味のないテストを書いている気がするんだけど、
何をもってテストを書く/書かないの基準にすればいいのか、
いまいちはっきりしないな〜、と思ってたんですよ。
以下の2点から考えればいいのか。
- Drivenしてるか?
- 資産価値は高いか?
XP祭りの懇親会でt-wadaさんが仰ってた、
カバレッジ率を上げるだけのテストはあんまり意味がない、
ってのもこの辺に起因するんだな、たぶん。
あと、こういったユニットテストを書かない代わりに、
これらは機能テストでテストされるようにしておく、
ってのも忘れちゃいかんですね。