我正在尝试使用其中一个参数的类型约束来存根方法。通常我已经知道类型并写:
o.Stub(x => x.SomeMethod(Arg<bool>.Is.Anything)).Return(...);
相反,我想要捕获对SomeMethod
的所有调用,其中传入的第一个arg派生自基类,比如B
。这可能吗?有人可以帮忙举个例子吗?
我想指定的伪代码:
o.Stub(x => x.SomeMethod(Arg.Type.Equals(typeof(B))).Return(...);
并且有SomeMethod(a);
之类的调用,其中a
的类型为A
,而A
来自B
。
答案 0 :(得分:1)
Rhino Mocks支持将其作为constraints的一部分,您的代码应该是这样的:
o.Stub(x => x.SomeMethod(Arg<B>.Is.TypeOf)).Return(...);
答案 1 :(得分:0)
举个例子。
o.Stub(x => x.SomeMethod(Arg<B>.Is.Anything)).Return(...);
...应适用于从B派生的任何类。