TestMethod:异步任务TestSth()不适用于.NET 4.0

Phi*_*p P 7 c# unit-testing mstest .net-4.0 async-await

我正在尝试使用.NET 4.0 BCL Async和MsTest运行异步测试方法.

由于测试用例资源管理器中缺少条目,此设置似乎无法处理[TestMethod] async Task TestSth().将签名更改为async void后,我可以运行测试用例但结果错误(根本不会报告任何错误).

我已经看到了使用TFS 2010运行异步任务单元测试的一个问题,但我认为应该有一个更漂亮的方法来解决这个问题.

有什么建议?

Mar*_*llo 1

您只能使用async关键字与面向 .NET 4.5 的 MSTest 引用类库一起使用。

如果您出于某种原因无法使用 .NET 4.5,那么您将不得不手动等待任务。

即使生产代码(即被测试的代码)不能使用.NET 4.5,为什么测试项目不能这样做呢?如果您已经拥有 VS 2012+,那么 .NET 4.5 将安装在您的开发计算机上。