Sto lavorando su una classe che dovrebbe manipolare i file.
La sua interfaccia ha un metodo Open(string filename)
e vari altri metodi per recuperare e manipolare il contenuto.
È corretto chiamare il metodo aperto prima di chiamare il metodo che sto provando a testare?
Da un lato, questo documenta il fatto che il metodo aperto dovrebbe essere chiamato prima di qualsiasi altro metodo.
D'altro canto, sono preoccupato dell'efficacia di tali test poiché, se il metodo Open
smette di funzionare, tutti i test non riuscirebbero senza riportare in realtà un errore del metodo che dovrebbero testare.
Cose che ho considerato:
Usare la riflessione durante il test per mettere l'oggetto in uno stato "lavorabile" noto, senza chiamare il metodo aperto (complesso e difficile da mantenere)
Utilizzo di un metodo di costruzione statico che crea l'oggetto e quindi lo apre, restituendo l'oggetto di lavoro (ma dovrebbe esserci anche un'opzione per avere l'oggetto in uno stato "chiuso", inoltre ciò non evita di chiamare il metodo aperto , lo nasconde semplicemente)