当至少一个方法是异步时,我得到System.Reflection.AmbiguousMatchException
方法名称在使用{运行NUnit测试时匹配Visual Studio中的{3}}。当我使用ReSharper单元测试运行器和使用NUnit Test Adapter 2.0.0.0( 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));
}
}
我已经在NUnit GUI test runner上发布了这个。
答案 0 :(得分:0)
其中一个library owners确认这是一个错误。根据他们的评论,这看起来将在未来的版本中得到解决:
因为它只发生在适配器中,所以它应该是我们可以修复的东西!
这当然是个好消息。与此同时,您可以通过不在单元测试中重载async / await方法来解决此问题。