.net - tutorial - visual studio unit test
¿Cómo se prueba uno de los códigos asíncronos usando MSTest? (2)
Estoy escribiendo un código asincrónico muy simple. Solo guardando un archivo fuera de hilo.
Me gustaría probar este código utilizando el marco de prueba de la unidad MSTest en Microsoft Visual Studio Team System 2008.
¿Cómo hago esto?
Me gustaría simplemente bloquear el método de prueba hasta que regrese el método. Me puedo imaginar algunas formas de hacerlo, pero estoy impresionado de que no haya mejores prácticas o clases de ayuda al respecto.
Veo mucho por Silverlight, pero nada genérico.
En lugar de llamar directamente a los métodos System.IO, intente utilizar la biblioteca SystemWrapper lugar. Luego, en sus pruebas, puede simular las llamadas como lo desee, devolver lo que quiera a su prueba, incluidas las condiciones de error, y verificar que su lógica funcione como se espera.
Si desea ver un ejemplo, eche un vistazo a esta publicación de blog que muestra cómo se puede usar con RhinoMocks.
Visual Studio 2012 (anteriormente conocido como "Visual Studio 11") presentó soporte para pruebas asíncronas . Se parece a esto:
[TestMethod]
public async Task FooTest()
{
var result = await SomeAsyncOperation();
Assert.IsTrue(someCondition);
}
Como se señaló en los comentarios, el tipo de devolución de Task
es importante . No funcionará si declara que el método está volviendo void
.