无法使用NUnit Test Adapter重载async / await方法

时间:2015-11-10 00:02:07

标签: unit-testing async-await nunit vs-unit-testing-framework

至少一个方法是异步时,我得到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上发布了这个。

1 个答案:

答案 0 :(得分:0)

其中一个library owners确认这是一个错误。根据他们的评论,这看起来将在未来的版本中得到解决:

  

因为它只发生在适配器中,所以它应该是我们可以修复的东西!

这当然是个好消息。与此同时,您可以通过不在单元测试中重载async / await方法来解决此问题。