在Rhino mock中所有输入的Stub返回值



我正在使用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获取更多示例。

最新更新