2010-04-13 162 views
1

有沒有關於如何使用Visual Studio 2008單元測試開發的指導?我正在開發一個使用實體框架的n層Web應用程序。我的問題是爲INSERT或UPDATE到數據庫的方法創建單元測試。Visual Studio 2008單元測試指南

回答

1

不要創建單元測試來測試,如果你是INSERTINGDELETING或做任何事情到數據庫。根本沒有必要。例如,如果您使用的是ADO.NET或ORM,則此代碼已經過測試。你會知道它實際上是在錫上說的。

存儲在數據庫中的測試數據不是單元測試。關於what makes a unit test, a unit test的好問題。對於使用數據庫代碼(DAL,ORM等)的代碼,您將插入mock objects(測試雙打),這將允許應用程序的其餘部分相信它正在與數據庫進行交互,但事實上並非如此。

如果你想確保你的代碼實際上正在採取數據並將其存儲在一個數據庫或外部文件,你需要寫integration tests進行檢查。一種可能的方法是使用在每個測試夾具上設置的測試數據庫和虛擬數據,然後執行測試,然後將數據庫擦回原先的狀態。這樣做的好處是您將擁有針對業務邏輯的單元測試以及集成測試,以確保您正確連接數據庫代碼。

0

這不是關於您正在使用的工具,而是關於設計的更多信息。

您的問題的解決方案是重新設計您的代碼,以便能夠使用存根或模擬對象。

另一種選擇是確保所有測試代碼都在新事務中完成。

如果您曾經開始使用EF 4.0,您可以從IObjectSet class中受益。

相關問題