2010-09-14 124 views
3

誰能給我一個很好的使用rhino mock,nunit和unity在一起的例子。我正在閱讀各自的幫助,但似乎沒有任何好的示例項目,說明如何將它們一起使用以及如何使用它們設置項目/測試項目。即你在測試項目中創建了新的ioc容器,它指向虛擬類。那麼犀牛到哪裏去了。Unity Nunit和Rhino Mocks

感謝您的任何幫助。

回答

5

我將所有這3個框架一起使用。看起來你的問題是你想要一次學習太多東西。

至於在測試中使用IoC容器,我從來沒有必要爲單元測試做這件事 - 我只是使用Rhino mocks根據需要傳遞存根/模塊的依賴組件。

對於集成測試,我可以看到在某些代碼中初始化IOC容器的好處,例如,如果您使用的是MVP模式,並且想要用存根完全替換GUI。

我會先詳細瞭解單元測試。我強烈推薦本書The Art of Unit Testing。一本結合了國際奧委會,單元測試和隔離框架的好書,我發現是Pro ASP.NET MVC - 現在有2nd edition,但是因爲我沒有讀過它,所以我不能評論它。本書不使用Unity,但如果您瞭解一個框架是如何工作的,則很容易切換到使用另一個框架。當我從Moq搬到犀牛時,我發現了this wiki page particularly useful

+0

謝謝。我看過那些書在亞馬遜上得到了很好的評價。我會給他們一個嘗試。 – 2010-09-14 20:59:35

1

您不需要在單元測試中使用IoC。你應該測試接口的實現,而不是接口本身。

示例:Person實現IPerson。你應該有一個PersonTests類來測試Person。您使用Rhino Mocks創建IPerson的模擬或存根並測試Person類的功能。

(至少,這是我總是這樣做的方式)。

然後你有單獨的測試來測試你的IoC(如果你需要的話)。

+0

感謝您的及時回覆馬丁。 – 2010-09-14 21:01:09