2017-01-19 24 views
0

我試圖在其中一個參數上使用類型約束來存根方法。通常,我已經知道的類型和寫:如何在rhino mocks中匹配基於其基類類型的參數?

o.Stub(x => x.SomeMethod(Arg<bool>.Is.Anything)).Return(...); 

相反,我想所有的呼叫趕上來SomeMethod其中第一個參數中從基類派生過去了,說B。這可能嗎?有人可以幫助一個例子嗎?

僞爲想什麼,我指定代碼:

o.Stub(x => x.SomeMethod(Arg.Type.Equals(typeof(B))).Return(...); 

,並有該抓的呼叫像SomeMethod(a);其中aA型和AB派生。

回答

0

給出你的例子。

o.Stub(x => x.SomeMethod(Arg<B>.Is.Anything)).Return(...); 

...應該工作從B.

派生的任何類
1

犀牛嘲笑不支持,作爲其constraints的一部分,你的代碼應該是這樣的:

o.Stub(x => x.SomeMethod(Arg<B>.Is.TypeOf)).Return(...);