无法使用 NUnit 测试适配器重载 async/await 方法
Can't overload async/await methods with NUnit Test Adapter
当 至少一个 方法是异步的 和 方法名称匹配时,我得到 System.Reflection.AmbiguousMatchException
NUnit 测试是 运行 使用 NUnit Test Adapter 2.0.0.0 in Visual Studio. I'm able to run the tests without problem when I use the ReSharper unit test runner and when I use the NUnit GUI test runner (NUnit-2.6.4.msi)。这是 NUnit 测试适配器中的错误吗?
[TestFixture]
public class SimpleRepro
{
[Test]
[TestCase("I'm valid")]
[TestCase("So am I!")]
public async Task Foo(string resource)
{
Assert.IsNotNull(resource);
await Task.Delay(new TimeSpan(0, 0, 1));
}
[Test]
public async Task Foo()
{
Assert.IsNotNull(Guid.NewGuid().ToString("N"));
await Task.Delay(new TimeSpan(0, 0, 1));
}
}
我已经在 GitHub issues list 上交叉发布了这个。
其中一位 library owners 确认这是一个错误。根据他们的评论,这看起来会在未来的版本中得到解决:
Since it only occurs in the adapter, it should be something we can fix!
这当然是个好消息。同时,您可以通过不在单元测试中重载 async/await 方法来解决此问题。
当 至少一个 方法是异步的 和 方法名称匹配时,我得到 System.Reflection.AmbiguousMatchException
NUnit 测试是 运行 使用 NUnit Test Adapter 2.0.0.0 in Visual Studio. I'm able to run the tests without problem when I use the ReSharper unit test runner and when I use the NUnit GUI test runner (NUnit-2.6.4.msi)。这是 NUnit 测试适配器中的错误吗?
[TestFixture]
public class SimpleRepro
{
[Test]
[TestCase("I'm valid")]
[TestCase("So am I!")]
public async Task Foo(string resource)
{
Assert.IsNotNull(resource);
await Task.Delay(new TimeSpan(0, 0, 1));
}
[Test]
public async Task Foo()
{
Assert.IsNotNull(Guid.NewGuid().ToString("N"));
await Task.Delay(new TimeSpan(0, 0, 1));
}
}
我已经在 GitHub issues list 上交叉发布了这个。
其中一位 library owners 确认这是一个错误。根据他们的评论,这看起来会在未来的版本中得到解决:
Since it only occurs in the adapter, it should be something we can fix!
这当然是个好消息。同时,您可以通过不在单元测试中重载 async/await 方法来解决此问题。