Warum können Komponententests mit "asynchroner Leere" nicht erkannt werden?
async void
Komponententests können nicht in Visual Studio 2012 ausgeführt werden:
[TestClass]
public class MyTestClass
{
[TestMethod]
public async void InvisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
}
Wenn ich einen asynchronen Komponententest haben möchte, muss die Testmethode einen Task zurückgeben:
[TestMethod]
public async Task VisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
Wieso ist es so? Nicht, dass ich unbedingt eine haben müssteasync void
Testmethode, ich bin nur neugierig. Visual Studio 2012 gibt beim Erstellen einer keine Warnung oder Fehlermeldung ausasync void
Testmethode, obwohl sie nicht ausgeführt werden kann ...