2011-01-19 28 views
0

這是另一個問題Entity Framework 4 CTP 4/CTP 5 Generic Repository Pattern and Unit Testable10的第二部分,其中我問如何使用EF 4 POCO實現通用存儲庫模式。現在我的知識庫正在工作,我想知道如何對我的知識庫(TDD或BDD)進行單元測試。實體框架4 CTP 5 POCO - 如何單元測試我的知識庫<T>

謝謝大家。

+0

我用XUnit測試並使用AutoRollback功能。我不知道NUnit是否具備此功能,但您可以通過Google進行搜索。這樣,您可以對您的倉庫進行集成測試,這會改變您的數據庫,然後回滾更改。 – Paul 2011-01-25 00:57:34

+0

謝謝Paul,我會檢查NUnit是否具有該功能。 – Saxman 2011-01-25 15:51:44

回答

0

嘿,我寫了一些關於使用SpecFlow做這件事的博文。但當它變得複雜時,這是一場災難。

我試圖實現一個測試存儲庫,這也是一場災難。試圖複製數據環境如何工作並不是一個聰明的想法。

但是,你從錯誤中學習,並一路上玩得開心。我學到的是使用輕量級或內存數據庫(SQLite)。

所以我肯定會說使用SQLite數據庫,如果你能使它與EF Code First一起工作。我無法做到這一點,所以我使用了SQL CE精簡版。它運行得非常快,即使在測試中。

你可能知道所有關於這個博客帖子,但重新檢查步驟4 http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

所以在本質上,所有我在我最近的項目確實是有用於測試一個單獨的數據庫SQL CE 4.0精簡版。超級快速,沒有投訴。