2013-07-03 42 views
5

我試圖存根這樣一個類的方法調用:犀牛製品調用真正的方法安排

經理managerStub = MockRepository.GenerateStub(constructordata);
managerStub.Stub(X => x.GetData(Arg.Is.Anything))。返回(10)

但是當我嘗試運行這個單元測試,犀牛製品調用 「的GetData」 法,用參數「manager.Stub ...」行中的「0」。

爲什麼犀牛嘲笑調用真正的方法是什麼?

+2

真正的方法'虛擬'?如果不是,RhinoMocks不能存根。 –

+0

啊......不是。那是問題,發佈答案,我會接受它,當時間限制結束。 –

+0

添加了一個答案,詳細說明了爲什麼它需要虛擬化。 –

回答

7

如果您請求一個類的存根RhinoMocks正在創建一個派生類,並覆蓋您想要存根的方法。
但是,如果你想存根方法不virtual RhinoMocks不能覆蓋它,因此它不能存根它。