Un po 'di contesto: oggi ho dovuto aggiornare un po' di codice SQL fornito da un altro mio collega e, dato che è uno script abbastanza grande, è archiviato come file separato (che viene quindi letto ed eseguito in fase di esecuzione). Nel fare ciò ho reintrodotto accidentalmente due bug che avevamo qualche mese fa, vale a dire:
- Per qualsiasi motivo il file ASCII è stato codificato in UTF-16 (il collega mi ha inviato il file tramite e-mail, il che potrebbe averlo causato).
- Lo script mancava delle
SETdichiarazioni iniziali (richiesto a causa di alcune cose del driver sulla produzione, ma non su un'installazione pulita localmente).
Dopo aver eseguito il debug per circa un'ora (di nuovo), ho deciso di scrivere alcuni test unitari per garantire che ciò non si ripetesse più (e includere un modo rapido per risolverlo nel messaggio di asserzione per fornire una soluzione semplice per i futuri sviluppatori).
Tuttavia, quando ho inserito questo codice, un altro collega (che è anche il capo del nostro team) mi viene incontro e mi ha detto che non avrei dovuto ripetere queste cose perché:
"Queste cose non appartengono ai test unitari"
"I test unitari devono essere utilizzati solo per controllare il flusso del codice"
Sono piuttosto in conflitto ora poiché penso ancora che ciò che sto facendo non sia sbagliato, poiché questo bug non verrà reintrodotto in futuro, tuttavia questo collega lavora come senior e alla fine della giornata decide cosa ci dedichiamo. Cosa dovrei fare? Sbaglio a farlo in questo modo? È considerata una cattiva pratica?