C# MOQ中的重载返回值
我正在努力了解更多关于Moq的设置和单元测试。不过我遇到了一个小问题 我想做的是这样的:C# MOQ中的重载返回值,c#,unit-testing,moq,C#,Unit Testing,Moq,我正在努力了解更多关于Moq的设置和单元测试。不过我遇到了一个小问题 我想做的是这样的: view.Setup(x => x.GetReference("object1")).Returns(object1); view.Setup(x => x.GetReference("object2")).Returns(null); 然而,当我以这种方式进行调用时,我从未遇到过会对Null语句作出反应的代码块。我应该如何设置设置,使它们在被特定参数调用时以特定的方式运行 moq重载两种返回
view.Setup(x => x.GetReference("object1")).Returns(object1);
view.Setup(x => x.GetReference("object2")).Returns(null);
然而,当我以这种方式进行调用时,我从未遇到过会对Null语句作出反应的代码块。我应该如何设置设置,使它们在被特定参数调用时以特定的方式运行 moq重载两种返回值的方法:
instance:返回(实例)代码>
delegate(Func):返回(()=>newfoo())代码>
view.Setup(x=>x.GetReference(“object2”))。返回((ExplicitType)null)代码>
view.Setup(x=>x.GetReference(“object2”))。返回(()=>null)代码>
您可能需要围绕测试设置提供更多代码,以了解您正在尝试的内容。mock的设置要求测试调用view.GetReference(“object2”),如果您没有得到预期的null返回,那么mock就不会被“object2”参数调用。您能否发布完整的单元测试以及可能触发GetReference调用的测试中的代码?