async void
las pruebas unitarias no se pueden ejecutar en Visual Studio 2012:
[TestClass]
public class MyTestClass
{
[TestMethod]
public async void InvisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
}
Si quiero tener una prueba unitaria asincrónica, el método de prueba debe devolver una Tarea:
[TestMethod]
public async Task VisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
¿Por que es esto entonces? No es que necesite absolutamente un async void
método de prueba, solo tengo curiosidad. Visual Studio 2012 no da advertencias ni errores cuando crea un async void
método de prueba aunque no se pueda ejecutar ...
async void
pruebas y cómo y por qué apoyarlas se detalla hasta cierto punto en este enlace . Vea la respuesta a continuación.