Domanda

Ho scritto questa classe che fa alcune cose (forse questa è una violazione del principio di responsabilità unico). Ora mi rendo conto che qualche altra parte del progetto ha bisogno di un pezzo Di quella logica e il modo in cui lo esporrò è estrarre una lezione dal mio sistema originale sotto prova.

Prevedo di essere in grado di farlo senza dover cambiare codice di prova, ma quando finisco, potresti sostenere che il test non è un unità Test più. Testerà la classe originale e La classe che ho estratto. In altre parole, avrò un caso di test, ma due sistemi in test.

Dovrei refactoring il mio codice di prova dopo aver finito? IE: creare un ExtractedClasstest e spostare tutti i test pertinenti da Originalclasstest in esso? Questo sembra che potrebbe essere un po 'rischioso: potrei perdere una certa copertura nel processo, potrebbe non essere così semplice come spostare un test e finirei per riscrivere un codice di prova che so che funzionasse ma potrei non più, non più, eccetera.

D'altra parte, se lascio l'originalclasstest così com'è, posso vedere che questo è un problema di manutenzione dei test. Sarà un po 'confuso scoprire dove sono i test di Extractedclass. La tua prima impressione sarà che non esiste. Nel tempo con molti refactoring del codice di produzione, questo potrebbe diventare un problema serio.

Sono nuovo a TDD, quindi vorrei il consiglio di un esperto. Grazie!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top