1
如何在不实际调用方法的情况下等待来自异步方法的异步方法中的任务?如何从非异步方法异步调用异步方法
Class TestAsync
Dim workevent As New Threading.ManualResetEvent(False)
Sub work()
Dim Task As Task = Test()
'Do Work which affects Test Here
Threading.Thread.Sleep(100)
workevent.Set()
'wait for Test to complete
'Task.Wait() -causes the application to hang
End Sub
Async Function Test() As Task
workevent.WaitOne()
End Function
End Class
此函数正在单元测试中运行,所以它必须停止异步 – user1937198 2013-02-26 22:23:06
@ user1937198它不,如果你的单元测试框架支持'异步'。目前版本的大多数.Net单元测试框架都可以。 – svick 2013-02-26 22:24:24
+1。当前版本的MSTest,xUnit和NUnit都支持返回Task的'async'单元测试方法。 – 2013-02-27 01:42:34