![](/img/trans.png)
[英]How we can make a URL dynamic in [TestInitialize] Method in mstest, c#?
[英]C# MSTest - Delete file in TestInitialize
當選擇運行所有測試時,並且[TestInitialize]方法中包含刪除文件的邏輯,在第一個完成的測試之后的任何操作都會收到以下錯誤:
該進程無法訪問文件'C:\\ root \\ var \\ MonRequestGeneratorTests.sqlite',因為該文件正在由另一個進程使用。
這是Initialize方法:
[TestInitialize]
public override void Initialize()
{
string sqliteFilePath = "myPath";
if (File.Exists(sqliteFilePath)) {
File.Delete(sqliteFilePath);
}
}
如何通過測試解決這個問題? 這是一個SQLite數據庫,刪除它的方法是刪除文件。 我需要在每次運行測試之前刪除該文件。
這意味着sqlite文件已在其他程序(例如某些SQL管理軟件)中打開,或者在測試期間訪問它后沒有處置流。
每當您使用FileStream或類似文件打開文件時,請確保在“ using”子句中這樣做,以便以后使用。
我建議的一件事是,不要在初始化期間刪除數據,而要在拆卸期間刪除數據。 假設您的工作區是干凈的,並確保完成后保持干凈。 這樣,如果某些測試沒有處理掉它的FileStream,那么有問題的測試將失敗,並且之后不會運行該測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.