La velocità non dovrebbe essere l'unica determinazione nel determinare quale tipo di test stai scrivendo / eseguendo. Una query SQL potrebbe richiedere 10 millisecondi, che potrebbero essere considerati veloci. La lettura da un file su un sistema potrebbe richiedere 5 millisecondi, anche questo potrebbe essere considerato veloce.
Ecco alcuni criteri comuni per determinare se qualcosa è un test unitario (questo elenco non è tutto compreso):
- Non ha dipendenze esterne (server sql, file server, rete, ...)
- Risultati ripetibili, se il codice non cambia, i risultati del test non dovrebbero cambiare
- Completamente isolato, un test non dovrebbe dipendere da un altro test da eseguire
- Infine, sii veloce
Il test tocca il file system, che non soddisfa due dei suddetti quattro criteri. Se la cartella viene rinominata, un file viene rimosso o la connessione di rete non riesce, il test potrebbe non riuscire. Ciò significa che si tratta di un test di integrazione o di quello che hai scritto nel progetto "fulltest". I test di integrazione sono ancora importanti e sono utili. Se si desidera rendere il test un vero test unitario, seguirei i link @gnat forniti.