Ho ereditato un sacco di codice mal progettato; il codice non ha test. Sto mettendo i test in atto prima di tentare un refactoring principale, ma ho incontrato un problema con i miei test unitari.
Il problema è che testerò una funzione unitaria e poi deciderò che la funzione è una responsabilità. Mi libererò della funzione o cambierò il suo scopo. In entrambi i casi, la funzione originale non funziona e i test dell'unità falliscono.
Dovrei passare un sacco di tempo a mettere i test unitari in un progetto che cambierò radicalmente? Non saranno inutili quei test unitari dopo un importante riprogettazione?
I test di integrazione sarebbero più preziosi? Posso scegliere le caratteristiche del programma che so non cambieranno e creare alcuni test di integrazione per assicurarmi che, in effetti, non cambino. Potrei cambiare tutto il codice dietro la funzione, ma la funzione dovrebbe ancora funzionare e i test di integrazione dovrebbero ancora passare.
So che ci sono molte domande su argomenti simili. Ti sto chiedendo specificatamente l'uso e il valore dei test di unità e di integrazione in codice legacy disordinato.