我有这个简单的测试方法如下。
[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中运行测试。
nunit-console.exe EightBall.dll /framework:net-4.5
但是,测试似乎没有返回并永远挂起。 是否有一种特殊的方法可以使用Nunit 2.6.2运行异步测试。 我认为使用Nunit 2.6.2支持异步
I have this simple test method below.
[Test] public async Task OneSimpleTest1() { var eightBall = new EightBall(); var answer = await eightBall.WillIWin(); Assert.That(answer, Is.True); }The test class looks like this
public class EightBall { public Task<bool> WillIWin() { return new Task<bool>(() => true); } }I run the tests in Nunit 2.6.2 using the below command.
nunit-console.exe EightBall.dll /framework:net-4.5
However, the test does not seem to return and hangs forever. Is there a special way to run async tests with Nunit 2.6.2. I thought async was supported using Nunit 2.6.2
最满意答案
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; }使它工作
return new Task<bool>(() => true); creates a task but does't start it. Better use return Task.Run(()=> true); or return Task.FromResult<bool>(true)
You can also change your code to
public Task<bool> WillIWin() { var task = new Task<bool>(() => true); task.Start(); return task; }to make it work
更多推荐
测试,Nunit,EightBall,public,test,电脑培训,计算机培训,IT培训"/> <meta name=&quo
发布评论