ユニットテストがすべて必要であるか重要であることに同意しなかった私のリード開発者とちょうど会話をしました。彼の見解では、内部リファクタリング(インターフェースの変更など)によってテストを書き直したり、見直したりする必要がなくなるため、コードカバレッジが十分に高い機能テストで十分です。
説明してみましたが、あまり遠くまで行かなかったので、もっと上手くやれると思いました。;-) それで...
機能テストが提供しない単体テストコードのいくつかの正当な理由は何ですか?あなたが持っているのが機能テストだけだとしたら、どんな危険がありますか?
編集#1すべての素晴らしい答えをありがとう。機能テストとは、製品全体のテストだけでなく、製品内のモジュールのテストでもあり、必要に応じてモックを使用した単体テストの低レベルではないことを付け加えたいと思います。機能テストは自動で継続的に実行されますが、単体テストよりも時間がかかります(これは単体テストの大きな利点の1つです)。
私はレンガと家の例が好きです。私のリード開発者が言っているのは、家の壁をテストするだけで十分だと思います。個々のレンガをテストする必要はありません... :-)