背景:是否因爲我爲每個MSTest測試複製數據庫文件而導致此文件鎖定問題? (使用DeploymentItem註釋)
- 我使用MSTest的運行單元測試在VS2008。
- 我的項目有一個SqlLite數據庫。
- 我發現我需要安排將默認數據庫文件複製到MSTest區域以便測試能夠找到它。我使用下面的註釋關於測試代碼以作安排: [DeploymentItem( 「database.db3」)
ISSUE:
- 當我運行在 「所有測試」一旦通過VS2008,我會在其中一個測試中得到下面提到的錯誤。當我單獨運行這個測試時,它通過很好。
- 我得到的錯誤是: 「System.Data.SQLite.SQLiteException:數據庫文件被鎖定數據庫被鎖定」
- 同樣,當我運行單獨得來這個問題上的測試工作正常&通過
問題:
關於如何解決這一問題的任何意見/建議?它是由於辦法,我手動複製每一個測試的數據庫文件(即每個測試我有上述註解之一)全面測試的
例子:
/// <summary>
///A test for process
///</summary>
[TestMethod()]
[DeploymentItem("database.db3")]
public void processTest()
{
Coordinator target = new Coordinator();
target.MyConfig.clear_database();
target.process();
}
謝謝
我有同樣的問題。我只是通過打開一個不存在的文件的連接,在我的單元測試中創建一個sqlitedb。但是我不能刪除這個文件,因爲它被鎖定了。 – tuinstoel 2009-11-13 19:00:29
你必須以編程方式創建表格嗎? – Greg 2009-11-13 20:54:02
是的,應用程序創建表以及單元測試。我的測試從無到有。 – tuinstoel 2009-11-14 05:47:37