我使用rhino mocks来隐藏方法的返回值。但是,我想为传入的任何参数返回相同的虚拟值。
如果不预先注册每个输入以返回相同的输出,我该怎么做?
答案 0 :(得分:3)
您使用MyClass.Expect(x=>x.MyMethod(someArg)).Return(stubValue).IgnoreArguments()
答案 1 :(得分:3)
_testHelper是辅助类,您从GetMethodValue()返回一个虚拟值。你必须在_testHelper类中编写GetMethodValue()。
SetupResult.For(_Repository.MethodName(null)).IgnoreArguments().Return(_testHelper.GetMethodNameResultValue());
答案 2 :(得分:3)
您可以使用IgnoreArguments()
约束,如下所示:
mockedInstance.Expect(instance => instance.MethodCall(null))
.IgnoreArguments()
.Return(preDefinedValue)
.Repeat()
.Any();
同样,通过指定Repeat().Any()
preDefinedValue
,每次调用方法都会返回。
有关更多示例,请参阅Rhino Mocks wiki。