下面我有一个简单的测试方法。
[Test]
public async Task OneSimpleTest1()
{
var eightBall = new EightBall();
var answer = await eightBall.WillIWin();
Assert.That(answer, Is.True);
}测试类如下所示
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支持异步
发布于 2013-10-03 16:38:16
return new Task<bool>(() => true);创建了一个任务,但没有启动它。最好使用return Task.Run(()=> true);或return Task.FromResult<bool>(true)
您还可以将代码更改为
public Task<bool> WillIWin()
{
var task = new Task<bool>(() => true);
task.Start();
return task;
}使它发挥作用
https://stackoverflow.com/questions/19164396
复制相似问题