私はレガシーシステムで作業しています(つまり、テストなしで作成されたという意味です)。外部から機能をテストする統合テストを作成して、システムの一部をテストしようとしました。
これにより、コードの破損を心配することなく、コードの一部をリファクタリングする自信が得られます。しかし、問題は、これらの統合テストを実行するのに2分以上かかり、数分かかることです。また、それらは維持するのが苦痛です。それらはそれぞれ数千行のコードをカバーしており、そのうちの1つが壊れた場合、その理由をデバッグするのに1時間かかることがあります。
私は最近行ったこれらの機能変更のために多くの単体テストを書いてきましたが、コミットする前に常に新しいデプロイを行い、すべての統合テストを実行します。この時点で、ユニットテストと統合テストの一部がテスト内容と重複していることがわかりました。
統合テストを削除できるように、適切な単体テストが不適切な統合テストを適切にカバーしていることをどのようにして知ることができますか?