我正在使用rhino mock对方法的返回值进行存根处理。但是,我希望为传入的任何参数返回相同的虚拟值。
如果不预先注册每个输入以返回相同的输出,我如何做到这一点?
_testHelper是helper类,您将从GetMethodValue()返回一个虚拟值。你必须在_testHelper类中编写GetMethodValue()。
SetupResult.For(_Repository.MethodName(null)).IgnoreArguments().Return(_testHelper.GetMethodNameResultValue());
您将使用MyClass.Expect(x=>x.MyMethod(someArg)).Return(stubValue).IgnoreArguments()
您可以使用IgnoreArguments()
约束,如下所示:
mockedInstance.Expect(instance => instance.MethodCall(null))
.IgnoreArguments()
.Return(preDefinedValue)
.Repeat()
.Any();
同样通过指定Repeat().Any()
, preDefinedValue
将在每次调用方法时返回。
参见Rhino Mocks wiki获取更多示例。