回答:我沒有清除ConnectionPools。單元測試後無法刪除數據庫
的解決方案是:
設置:看
- 檢查是否 'TEMP_NUnit' 數據庫(SQL Server 2005)上的本地實例存在
- 如果它存在,刪除它。
- 創建一個名爲'TEMP_NUnit'的新空白數據庫。
測試:
- 實例化 '升級數據庫' 組件。
- 檢查組件的基本屬性是否正確默認。
- 點在空白數據庫組件和調用。升級()
- 檢查升級實際工作
TearDown中:
SqlConnection.ClearAllPools();
- 降 'TEMP_NUnit' 數據庫。
原始問題在下面。
大家好
測試場景是:
設置:看
- 檢查是否 'TEMP_NUnit' 數據庫(SQL Server 2005)的本地實例 存在
- 如果存在,請將其放下。
- 創建一個名爲'TEMP_NUnit'的新空白數據庫。
測試:
- 實例化 '升級數據庫' 組件。
- 檢查組件的基本屬性是否正確默認。
- 點在空白數據庫組件和調用。升級()
- 檢查升級實際工作
TearDown中:
- 降 'TEMP_NUnit' 數據庫。
一切都很好,直到我到了TearDown階段。我總是得到以下錯誤:
Cannot drop database "TEMP_NUnit" because it is currently in use.
這是混淆了我,因爲我關閉(顯式調用conn.Close在最後陳述)和處理(通過使用語句)我所有的DbConnection正確的對象。 TearDown出現時應該不會在「TEMP_NUnit」數據庫上運行任何內容。
如果我關閉NUnit,然後重新打開它,SetUp的第2步總是先工作。
我不知道我在做什麼錯在這裏。任何指針正確的方向將不勝感激。
賓果!謝啦。 – 2010-08-16 03:57:29