我在空閒時間處理個人C#項目。在這個預測之前,我還沒有真正做過任何單元測試,但我認爲是時候學習了,所以我閱讀了幾個教程/博客,並在VS2010中安裝了NUnit和Testdriven.Net,我想我已經掌握了基本知識。單元測試ef datamodel
我的項目使用了我使用EF4創建的數據模型。我還創建了一個存儲庫來檢索數據,現在我想測試該存儲庫。我應該如何測試它?每次我想要在Repository中測試一個方法時,我可以以某種方式避免調用數據庫?
歡呼聲
我在空閒時間處理個人C#項目。在這個預測之前,我還沒有真正做過任何單元測試,但我認爲是時候學習了,所以我閱讀了幾個教程/博客,並在VS2010中安裝了NUnit和Testdriven.Net,我想我已經掌握了基本知識。單元測試ef datamodel
我的項目使用了我使用EF4創建的數據模型。我還創建了一個存儲庫來檢索數據,現在我想測試該存儲庫。我應該如何測試它?每次我想要在Repository中測試一個方法時,我可以以某種方式避免調用數據庫?
歡呼聲
您還可以使用模擬框架來創建您的存儲庫的「假」版本。 Moq是我經常使用的一種。從本質上講,你寫的代碼基於配置的倉庫的假返回值...
var mock = new Mock<YourObject>();
mock.Setup(m => m.DoSomething().Returns(true));
var result = mock.Object.DoSomething();
Assert.IsTrue(result);
這裏是由斯蒂芬·瓦爾特獲得started with Moq一個很好的教程。
定義了一個IRepository接口。有一個使用數據庫的真正實現。有一個假的執行它返回虛擬對象爲單元測試目的
如果我決定使用Moq,而我必須爲模型中的每個實體定義一個接口? – Ols1 2011-01-26 20:50:02