我正在嘗試使用我的實體框架+測試體驗。我在NUnit中編寫了測試,刪除這些表,創建一個新的數據庫,在測試所需的表中創建行,進行測試並重復。集成測試Entity Framework,需要不同的數據庫服務器?
關於two different test strategies有一個不錯的帖子,解釋了Effort
(在內存數據庫中)有一些缺點。無論如何,我確實有強烈的傾向於對實際數據庫進行測試,因爲我可以驗證數據庫以驗證數據庫中是否以及如何最終結束數據庫。
然後,我遇到了this後,在那裏我可以讀,我應該/可能有不同的數據庫服務器爲我的應用和我的測試。例如。應用程序針對SQL Server運行,而測試則針對SQL Server CE運行。
我有幾個工作集成測試,現在在SQL Server Express上工作。我的應用程序在同一個連接字符串上運行,針對同一個數據庫服務器實例
這是不明智的嗎?
我長期處於困境中嗎?
任何人都可以確認並解釋是否需要/建議爲應用程序(SQL Server)和集成測試(SQL Server CE)使用不同的數據庫服務器?
非常感謝。
我訪問了一篇文章,說你應該/可以擁有一個不同的數據庫服務器,但實際上並沒有在該文章中找到任何說「你應該有兩個不同的數據庫服務器」的東西。 – 2013-02-24 09:23:44
@MarkHildreth,你是對的,我將重新提出一個問題:「任何人都可以確認並解釋如果它需要/建議使用不同的數據庫服務器......」(爲什麼=> if)。我能否早期得出結論:您認爲這不是必需的,我可以在應用程序和測試環境中使用相同的服務器? – bas 2013-02-24 09:30:54
我假設「相同的服務器」,你的意思是「相同的服務器類型」(MSSQL是一種類型的服務器,SQL CE是另一種,sqlite的另一種..)。顯然,你不希望將你的實時服務器(實際的服務器和你所有的實時數據)用作你的測試服務器,因爲你最終會把一堆測試數據放到你的實時服務器中,或者完全刪除你的實時數據... – 2013-02-24 09:33:04