Di recente ho completato un refactoring a scatola nera. Non riesco a registrarlo, perché non riesco a capire come testarlo.
Ad un livello elevato, ho una classe la cui inizializzazione comporta l'acquisizione di valori da una classe B. Se la classe B è "vuota", genera alcune impostazioni predefinite sensate. Ho estratto questa parte in un metodo che inizializza la classe B con le stesse impostazioni predefinite.
Devo ancora capire lo scopo / il contesto di entrambe le classi o il modo in cui verranno utilizzate. Quindi non posso inizializzare l'oggetto da una classe B vuota e controllare che abbia i valori giusti / fa la cosa giusta.
La mia idea migliore è eseguire il codice originale, hardcode nei risultati dei metodi pubblici a seconda dei membri inizializzati, e testare il nuovo codice con quello. Non riesco a capire bene perché mi sento vagamente a disagio con questa idea.
C'è un attacco migliore qui?