2010-12-03 74 views
2

我正在使用MVC2,實體框架和CTP4使用代碼只持久。我在MSUnit中爲我的域對象創建了一些單元測試,其中包括一些用於查看這種範例中持久性如何工作的單元測試。我正在使用Sql Server CE 4.0進行這些測試。這工作正常,除了一個問題...數據似乎在同一個類中的測試之間持續。清理MsUnit測試之間的SQLCompact數據庫中的數據

我有使用Java,Hibernate Annotations和HSQLDB的經驗,在這種情況下,每次測試執行時都會創建並拆除數據庫。然而,在SqlCompact中,我有幾個測試使用相同的測試數據夾具,如果我同時運行它們,最終會遇到約束違規。

我可以通過一些黑客來修復這個問題,在[TestCleanup]中明確地刪除表格/刪除數據,但是在這種情況下使用SQL Compact時,確保每次測試都使用新的數據庫的正確方法是什麼?我相信答案很簡單,但我似乎無法在任何地方找到它。謝謝。

編輯:目前,我正在這樣做,哪些作品 - 但我不喜歡它。更好的想法,歡迎:

[TestCleanup] 
    public void teardown() 
    { 
     mgr.Database.DeleteIfExists(); 
     mgr.Database.Create(); 
    } 

回答