【发布时间】:2021-02-26 14:59:35
【问题描述】:
我有一个看起来像这样的界面
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。任何输入都会很棒。谢谢。
【问题讨论】:
-
我在定义中看不到
T类型?从IBasePlugin定义`b.Connect(Arg.Any()).Returns(true);` 应该可以工作。 -
我需要补充的是,我使用的是 c# 6。如果它是 7.0 或更高版本,则该答案是正确的。由于项目的原因,我当时无法转换。
标签: .net mocking nsubstitute