2012-03-17 57 views
0

我正在使用EF做TDD項目。我想單元測試我所做的插入操作。我應該怎麼做?使用Entity Framework測試插入數據庫

我的想法;

  1. 在單元測試中,如果插入成功,我可以查詢數據庫。

  2. 我可以依靠我的業務庫上的其他方法來檢查插入是否成功,但我認爲這違反了UNIT測試的目的。

您有什麼建議?

或者我應該使用模擬框架,如Moq?

回答

1

這實際上是集成測試而不是單元測試,通常使用TDD i測試來測試我的系統的邊界,即達到但不包括實際調用外部系統的組件。這種方法的一個例子可以在這裏找到:http://dl.dropbox.com/u/37129059/StaticVoid.Repository.Demo.zip使用我的存儲庫框架(http://blog.staticvoid.co.nz/2011/10/staticvoid-repository-pattern-nuget.html)。

說了這些之後,它對集成測試也很有價值,特別是在大型項目上,無論是通過自動UI測試還是其他方式。

1

你所要做的就是集成測試,而不是單元測試。人們想要測試ORM行爲的唯一目的是檢查映射是否有效。所以你的測試用例是完全有效的。 你應該做的只是創建你的實體對象,並將其保存在數據庫中。取回持久對象並與剛剛創建的實體對象進行比較。如果所有字段/屬性都相等,EF映射工作正常。

+0

其實你是對的,這是我witj EF的第一個項目。所以我想測試我使用它的方式。 – 2012-03-17 08:37:22

相關問題