c# - NUnit 不等待异步任务完成

标签 c# asp.net unit-testing testing asynchronous

我有一个调用异步方法的非常简单的 NUnit 测试。

当然,测试正在等待,就像它应该的那样:

public async void Test()
{
    var controller = new Controller(mockService.Object);

    var model = new MyObject
    {
        Address = "12.12.12.12",
        Password = "123456",
        Username = "John Foo"
    };

    var res = await controller.Add(model);
}

当我运行测试时,它不会等待 Add 方法完成,即使我告诉它这样做 (await)

最佳答案

您需要更新测试以返回async Task

public async Task Test() {
    var controller = new Controller(mockService.Object);

    var model = new MyObject
    {
        Address = "12.12.12.12",
        Password = "123456",
        Username = "John Foo"
    };

    var res = await controller.Add(model);
}

关于c# - NUnit 不等待异步任务完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42395645/

相关文章:

c# - NHibernate:将现有对象与新对象相关联?

c# - 在异步代码中调试异常

javascript - 在 ASP.NET 项目中调试 javascript

java - 使用 @Configuration 运行单元测试时出现 NoSuchBeanDefinitionException

unit-testing - F# 和 NUnit : Structured output of record types on test failure

php - Symfony2 中数据库测试的实践?如何隔离?

c# - asp.net c#中如何对字符串进行加密

c# - 在具有 EF core 的 Nuget 类库上使用 .NET 4.6.1 进行编译时出错

asp.net - 使用 ASP.NET Core 将 PDF 返回到浏览器

c# - 回发后 Javascript 函数不起作用?