Pregunta

Si mi unidad de pruebas se basan en el sistema de archivos y que necesitan para burlarse de esto, ¿cuál es la mejor manera de hacer esto?

Gracias

¿Fue útil?

Solución

Es, básicamente, tiene dos opciones: resumen de todo el sistema de archivos relacionados con la lógica detrás de un eiter IFileSystemService, o utilizar Talones de Microsoft, que es

  

... un marco ligero para .NET que ofrece talones de prueba. Para las interfaces y las clases no selladas, envolturas de tipo de fallos se generan que se puede personalizar fácilmente uniendo delegados.

Otros consejos

El sistema de archivos es un excelente ejemplo de cómo TDD puede conducir a un mejor diseño, más flexible. A menudo, cuando interactúa con el sistema de archivos, se puede tratar con archivos de lectura y escritura utilizando Streams o TextWriters en lugar de archivos reales.

Estos son todos los tipos abstractos y por lo tanto son fáciles de burlar.

Ahora usted tiene una API más flexible porque no está estrechamente ligado al sistema de archivos, pero todavía apoya las operaciones de archivo.

Aviso Legal Trabajo en Typemock.

Me alegra decir, que nuestras últimas versiones soportan los siguientes tipos de System.IO ser burlado:

  • Archivo
  • Directorio
  • FileStream

Hay un pequeño ejemplo:

public void Test()
{
    string path = @"C:\TypemockCan.txt";

    Isolate.WhenCalled(() => File.Exists(null)).WillReturn(true);

    Assert.IsTrue(File.Exists(path));
}

.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top