2009-08-18 25 views
2

我有一種情況是這樣的:如何爲Rhino Mocked對象設置一個值?

form = MockRepository.GenerateMock<IAddAddressForm>(); 
mediator = new AddAddressMediator(form); 

調解員是測試中的真實對象,需要能夠對「形式」的對象設定值。

但我可以看到爲窗體對象設置的值的唯一方法是這樣的:

form.Stub(x=>x.FirstName).Return(item.FirstName) 

我不想做,在我真正的代碼。

我錯過了嘲笑的地步嗎?

回答

1

Stubs已建成支持財產行爲。在不使用存根的情況下,可以使用PropertyBehaviour()方法獲得類似的效果。

在調解器中,您應該正常使用form對象 - 它不應該知道它已經傳遞了假對象。

此代碼:

form.Stub(x=>x.FirstName).Return(item.FirstName) 

不應該是你的真實目的,但可能是你測試設置你將如何使用您的模擬對象的期望的一部分。

編輯:

從您提供什麼,我不能判斷你「失蹤嘲笑的地步」。主要目的是提供一種方法來測試具有與這些依賴關係隔離的依賴關係的代碼。看看Martin Fowler的文章「Mocks Aren't Stubs」和Rhino Mocks documentation的使用指南部分。

+0

甜蜜的答案!非常感謝(我希望我可以投你兩次!) – Vaccano 2009-08-19 15:31:42

+0

哈哈歡呼:)很高興能成爲服務... – 2009-08-19 17:39:12

相關問題