首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异步测试挂起在Nunit 2.6.2中

异步测试挂起在Nunit 2.6.2中
EN

Stack Overflow用户
提问于 2013-10-03 16:28:18
回答 1查看 884关注 0票数 2

下面我有一个简单的测试方法。

代码语言:javascript
复制
[Test]
        public async Task OneSimpleTest1()
        {
            var eightBall = new EightBall();
            var answer = await eightBall.WillIWin();

            Assert.That(answer, Is.True);
        }

测试类如下所示

代码语言:javascript
复制
public class EightBall
    {
        public Task<bool> WillIWin()
        {
            return new Task<bool>(() => true);
        }
    }

我使用下面的命令在Nunit 2.6.2中运行测试。

EightBall.dll /框架:NET-4.5

然而,测试似乎不会回来,永远挂起。是否有一种使用Nunit 2.6.2运行异步测试的特殊方法。我认为使用Nunit 2.6.2支持异步

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-03 16:38:16

return new Task<bool>(() => true);创建了一个任务,但没有启动它。最好使用return Task.Run(()=> true);return Task.FromResult<bool>(true)

您还可以将代码更改为

代码语言:javascript
复制
public Task<bool> WillIWin()
{
    var task = new Task<bool>(() => true);
    task.Start();
    return task;
}

使它发挥作用

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19164396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档