为什么await运算符在NUnit TearDown中不起作用?

时间:2014-08-29 06:52:19

标签: c# .net nunit async-await

我在 nUnit 中进行了API集成测试。当我在[TearDown]中添加执行异步方法时,我发现await运算符不起作用...

[TearDown]
public async void TearDownAsync()
{
  var response = await service.GetTasksAsync();

  if (response.Count > 0)
  {

  }
}

在此示例方法中,GetTasksAsync()已执行,但不会等待结果。当我将其更改为使用Wait()时,它就可以了。

[TearDown]
public void TearDown()
{
  var response = service.GetTasksAsync();
  service.Wait();

  if (response.Result.Count > 0)
  {

  }
}

我认为问题出在[TearDown]。执行方法但是线程过早结束。在[Test]方法中一切正常。这是[TearDown]中的错误还是我不正确地使用它?

0 个答案:

没有答案