使用NUnit测试适配器不能重载异步/等待方法 [英] Can't overload async/await methods with NUnit Test Adapter

查看:99
本文介绍了使用NUnit测试适配器不能重载异步/等待方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

至少一个方法异步并且方法名称与使用System.Reflection.AmbiguousMatchException ="https://www.nuget.org/packages/NUnitTestAdapter/" rel ="nofollow">在Visual Studio中为NUnit测试适配器2.0.0.0 .使用ReSharper单元测试运行器以及使用

I'm getting a System.Reflection.AmbiguousMatchException when at least one of the methods are async and the method names match when the NUnit tests are run using the 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). Is this a bug in the NUnit Test Adapter?

[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问题列表上.


I've cross posted this on the GitHub issues list.

推荐答案

This was confirmed as a bug by one of the library owners. According to their comment it looks like this will be addressed in a future release:

由于它仅在适配器中发生,因此应该可以解决!

Since it only occurs in the adapter, it should be something we can fix!

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

This is great news of course. In the mean time you can work around this issue by not overloading async/await methods in your unit tests.

这篇关于使用NUnit测试适配器不能重载异步/等待方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆