相关疑难解决方法(0)

为什么不能识别"异步无效"单元测试?

async void 单元测试无法在Visual Studio 2012中运行:

[TestClass]
public class MyTestClass
{
    [TestMethod]
    public async void InvisibleMyTestMethod()
    {
        await Task.Delay(1000);
        Assert.IsTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我想要进行异步单元测试,则测试方法必须返回一个Task:

[TestMethod]
public async Task VisibleMyTestMethod()
{
    await Task.Delay(1000);
    Assert.IsTrue(true);
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?不是说我绝对需要async void测试方法,我只是好奇.构建async void测试方法时,Visual Studio 2012不会发出警告或错误,即使它无法运行...

c# unit-testing async-await c#-5.0 visual-studio-2012

75
推荐指数
3
解决办法
2万
查看次数