Я работаю над устаревшей системой (я имею в виду, что она написана без тестов). Мы попытались протестировать некоторые системы, написав интеграционные тесты, которые тестируют функциональность извне.
Это дает мне некоторую уверенность в рефакторинге частей кода, не беспокоясь о его нарушении. Но проблема в том, что эти интеграционные тесты требуют развертывания (2+ минуты) и много минут для запуска. Кроме того, они являются болью для поддержания. Каждая из них покрывает тысячи строк кода, и когда одна из них прерывается, может потребоваться час (а), чтобы выяснить причину.
Я писал множество модульных тестов для этих функциональных изменений, которые я делал в последнее время, но перед тем как сделать коммит, я всегда делаю новое развертывание и запускаю все интеграционные тесты, просто чтобы убедиться, что ничего не пропустил. На данный момент я знаю, что мои модульные тесты и некоторые интеграционные тесты совпадают с тем, что они тестируют.
Как узнать, когда мои хорошие модульные тесты адекватно покрывают плохой интеграционный тест, чтобы я мог удалить этот интеграционный тест?