Capisco che in realtà non dovresti colpire il database o il disco quando fai dei test unitari ... Perché?
Inoltre, prendendo qualcosa come Moq, che cosa dovrebbe effettivamente prendere in giro e dove? Ad esempio, supponiamo di voler creare un metodo chiamato "loadconfig" che carica un documento XML. Questo sarebbe un metodo vuoto, quindi verificherei che abbia funzionato scrivendo dei test attorno ai metodi di valore get / set ...
Quindi Moq dovrebbe imitare un file che viene caricato? E devo anche prendere in giro il ritorno / l'impostazione dei valori? Posso vedere che Moq ha affermato metodi, dovrebbero essere usati nel metodo di test (sembra improbabile dal momento che il documento è memorizzato in una proprietà privata)? Se deve essere usato nei metodi get / set, deve restituire un valore booleano invece del valore effettivo - il che significa che a un certo punto l'intero metodo dovrebbe essere modificato?
Infine, ad un certo punto, avresti sicuramente bisogno di rimuovere tutte le cose Moq e sostituirle con un'implementazione reale? Ma allora questo non significa che i test unitari non possano o non debbano essere usati?