首页 > 解决方案 > nsubstitute 模拟对任何 XMLNode 值的方法的调用

问题描述

我有一个看起来像这样的界面

IBasePlugin 包含...

  bool Connect(XmlNode xmlRequest);

无论我使用 NSubstitute 发送什么请求,我都想模拟它以返回 true 这是我的场景的样子

//[TestFixture]
public class NUnitTest1
{
    //[Test]
    public void TestMethod1()
    {
        var b = Substitute.For< IBasePlugin > ();
        b.Connect(Arg.Any<XmlNode>())
        MyPlugin tester = new MyPlugin(b);
        tester.GetAddressList()

    }
}

问题是,我想知道如何模拟传递给 Connect 的任何值。我认为它会像我所拥有的那样,但它不喜欢任何调用,因为不支持 ref 返回类型 ref T 。任何输入都会很棒。谢谢。

标签: .netmockingnsubstitute

解决方案


我想到了。你不能使用任何。添加 Compat 是关键。我不得不使用:

b.Connect( Arg.Compat.Any<XmlNode>()).Returns(true);

推荐阅读