Je travaille sur un système hérité (j'entends par là qu'il a été écrit sans tests). Nous avons essayé de tester une partie du système en écrivant des tests d'intégration qui testent la fonctionnalité de l'extérieur.
Cela me donne une certaine confiance pour refactoriser des parties du code sans craindre de le casser. Mais le problème est que ces tests d'intégration nécessitent un déploiement (2+ minutes) et plusieurs minutes pour s'exécuter. De plus, ils sont difficiles à entretenir. Ils couvrent chacun des milliers de lignes de code et lorsque l'un d'eux casse, cela peut prendre des heures pour déboguer pourquoi.
J'ai écrit de nombreux tests unitaires pour ces changements fonctionnels que j'ai effectués récemment, mais avant de m'engager, je fais toujours un nouveau déploiement et exécute tous les tests d'intégration, juste pour m'assurer de ne rien manquer. À ce stade, je sais que mes tests unitaires et certains des tests d'intégration chevauchent ce qu'ils testent.
Comment savoir si mes bons tests unitaires couvrent adéquatement un mauvais test d'intégration afin que je puisse supprimer ce test d'intégration?