async void
单元测试不能在 Visual Studio 2012 中运行:
[TestClass]
public class MyTestClass
{
[TestMethod]
public async void InvisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
}
如果我想进行异步单元测试,测试方法必须返回一个任务:
[TestMethod]
public async Task VisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
为什么会这样?并不是说我绝对需要一个async void
测试方法,我只是好奇。当您构建测试方法时,Visual Studio 2012 不会给出警告或错误,async void
即使它无法运行...