【问题标题】:Can't overload async/await methods with NUnit Test Adapter无法使用 NUnit 测试适配器重载 async/await 方法
【发布时间】:2015-11-10 00:02:06
【问题描述】:

至少一个方法是异步的并且在使用NUnit Test Adapter 2.0.0.0 运行NUnit 测试时方法名称匹配时,我会收到System.Reflection.AmbiguousMatchException在 Visual Studio 中。当我使用 ReSharper 单元测试运行器和使用 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 上交叉发布了这个。

【问题讨论】:

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


    【解决方案1】:

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

    既然只出现在适配器中,应该是我们可以修复的!

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      相关资源
      最近更新 更多