使用Task <t> .Result()等待异步方法的结果

时间:2017-09-14 16:22:51

标签: c# asp.net-mvc unit-testing mstest

我的控制器中有一个带有此签名的方法

public async Task<ViewResult> Index()

这就是我在单元测试中等待 Index()的结果

[TestMethod]
public void TestIndex()
{
   var controller = new MyController();
   var result = controller.Index().Result;

   // Asserts here
}

但是文档说测试 async 方法的方法是在测试方法的签名中使用 async Task 并使用等待之类的此

public async Task TestIndex()
{
   var controller = new MyController();
   var result = await controller.Index();

   // Asserts here
}

我真的想知道文档说的方式和我的方式之间的区别是什么?

按照我的方式做测试有什么不对?

PS:即使 Index 方法中抛出的异常也会显示在 Test Explorer 窗口中。

0 个答案:

没有答案