Tiendo a crear una interfaz en la mayoría de mis proyectos llamada IFileController que tiene todas las operaciones de archivos en ella. Esto puede tener los básicos, además de cualquier método que el .NET Framework no proporciona que se ocupe de los archivos.
Usando un marco de inyección de dependencias, puede obtener una instancia de IFileController sin saber exactamente de qué tipo es, y usarlo sin necesidad de perder el tiempo con tipos de marcos de burla. Esto hace que todo sea mucho más comprobable y, como beneficio adicional, puede cambiar el mecanismo de almacenamiento de archivos sin cambiar el código.
En el lado negativo, a los nuevos desarrolladores se les debe informar acerca de esta interfaz, de lo contrario, simplemente usarán los métodos .NET directamente.
¿Qué es lo que le impide golpear el sistema de archivos? – grieve
@ duelo, según lo que he leído, las pruebas unitarias no deberían llegar al sistema de archivos, db o ir a través de la red. Estoy tratando de cumplir con esas reglas. – Jim
Además, consulte http://stackoverflow.com/questions/106766/unit-testing-file-modifications –