Я працюю над спадковою системою (маючи на увазі, це було написано без тестів). Ми спробували протестувати частину системи, написавши тести інтеграції, які перевіряють функціональність зовні.
Це дає мені певну впевненість у рефакторних частинах коду, не переживаючи про його порушення. Але проблема полягає в тому, що ці інтеграційні тести вимагають розгортання (2+ хвилин) та багато хвилин для запуску. Також вони болю підтримувати. Кожен з них охоплює тисячі рядків коду, і коли один з них порушується, це може зайняти години (і), щоб налагодити, чому.
Я писав багато тестових одиниць для цих функціональних змін, які я робив останнім часом, але перед тим, як покластися, я завжди роблю нове розгортання та запускаю всі інтеграційні тести, просто щоб переконатися, що я нічого не пропустив. На даний момент я знаю, що мої модульні тести і деякі тести інтеграції перекриваються те, що вони тестують.
Як я можу знати, коли мої тести на належному рівні адекватно покривають поганий тест на інтеграцію, щоб я міг видалити цей інтеграційний тест?