Sto lavorando su un progetto in cui SqlConnection
viene creato tramite un metodo statico, diciamo che è DatabaseAccess.GetSqlConnection()
. Questo metodo legge il file .config per ottenere la stringa di connessione e crea una connessione.
È corretto refactoring il codice per utilizzare un ISqlConnectionCreator
(o ISqlConnectionFactory
) responsabile della creazione delle connessioni effettive solo per motivi di test (come sembra di più "dal libro "per me) o andare facile e basta creare un file .config nel progetto di test contenente le stringhe di connessione di test?
La seconda soluzione sembra più soggetta a errori e crea una relazione indiretta tra i test e le classi testate.
Voglio assicurarmi che ci sia una giustificazione per il lavoro extra di refactoring del codice per utilizzare il creatore della connessione iniettata.