Sto scrivendo unit test per una classe che fa uso di un modulo di utilità generale. In generale, voglio prendere in giro tutte le dipendenze della classe, ma prendere in giro alcune delle funzioni di utilità sembra strano. Alcuni di essi sono semplici funzioni per gestire percorsi di file, manipolazione di stringhe, ecc. E sembra un dettaglio di implementazione che la classe in prova utilizza questa utility per implementare la sua API pubblica. Se il codice è stato refactored per non aver bisogno di quella funzione di utilità, non mi interessa e preferirei che il test non fallisse.
Il problema è che alcune delle funzioni di utilità dipendono dal filesystem, e ovviamente devono essere prese in giro. Quindi sto considerando uno dei due
- Lasciando il modulo di utilità così com'è e prendendo in giro il modulo del filesystem
- O utilizzando la maggior parte del modulo delle utility ma prendendo in giro le singole funzioni che hanno dipendenze sul filesystem
Che cosa hanno fatto gli altri in questo scenario?