【发布时间】:2011-11-21 21:01:22
【问题描述】:
我正在使用 rhino 模拟来存根方法的返回值。但是,我想为传入的任何参数返回相同的虚拟值。
如何在不预先注册每个输入以返回相同输出的情况下执行此操作?
【问题讨论】:
-
感谢您的回答。一切都很好,所以我选择了前一个。
标签: .net rhino-mocks
我正在使用 rhino 模拟来存根方法的返回值。但是,我想为传入的任何参数返回相同的虚拟值。
如何在不预先注册每个输入以返回相同输出的情况下执行此操作?
【问题讨论】:
标签: .net rhino-mocks
你会使用MyClass.Expect(x=>x.MyMethod(someArg)).Return(stubValue).IgnoreArguments()
【讨论】:
_testHelper 是帮助程序类,您从 GetMethodValue() 返回一个虚拟值。您必须在 _testHelper 类中编写 GetMethodValue()。
SetupResult.For(_Repository.MethodName(null)).IgnoreArguments().Return(_testHelper.GetMethodNameResultValue());
【讨论】:
你可以使用IgnoreArguments()约束,如下所示:
mockedInstance.Expect(instance => instance.MethodCall(null))
.IgnoreArguments()
.Return(preDefinedValue)
.Repeat()
.Any();
同样通过指定Repeat().Any() preDefinedValue 将在每次调用方法时返回。
更多示例请参见Rhino Mocks wiki。
【讨论】: