异步单元测试 - 永远无法使用的任务块

时间:2013-08-28 19:19:13

标签: c# .net testing asynchronous blocking

正常运行我的应用程序时,没有async Task关键字调用的任何await方法都完全符合我的要求。在另一个线程中启动该方法,但继续执行(编译器甚至高兴地警告我这一点)。这可以按预期工作,没有问题。

当在单元测试中运行相同的代码时,这个未加密的方法现在永远阻塞,我的单元测试永远不会失败。

我猜测async方法并非设计为可以这样使用,尽管它们似乎通常运行良好。有没有办法让它们在单元测试中正常工作,或者你建议我使用什么代替在后台执行代码而不阻塞(BackgroundWorker?)。我喜欢Task方法,因为它允许我以阻塞和非阻塞的方式重用该方法。我可以使用Task.Run()并传入一个调用该方法的lambda,但这看起来有点难看/不可读。

0 个答案:

没有答案
相关问题