我對測試還比較陌生,並且仍然對我的某些基礎知識有所瞭解。我有一個方法,我想測試它基本上創建一個不同的文件名,如果提供的已經存在(我粘貼下面的代碼)。測試FileNotFound處理的最佳方法
我需要一種測試方法,如果該文件已經存在,該方法會返回一個不同的(但也是唯一的)名稱。在Visual Studio的單元測試中測試這個最好的方法是什麼?它是創建一個文件作爲測試的一部分,然後刪除它還是有更好的方法?
public static FileInfo SafeFileName(this FileInfo value)
{
if (value == null) throw new ArgumentNullException("value");
FileInfo fi = value;
//Check the directory exists -if it doesn't create it as we won't move out of this dir
if (!fi.Directory.Exists)
fi.Directory.Create();
//It does so create a new name
int counter = 1;
string pathStub = Path.Combine(fi.Directory.FullName, fi.Name.Substring(0, fi.Name.Length - fi.Extension.Length));
// Keep renaming it until we have a safe filename
while (fi.Exists)
fi = new FileInfo(String.Concat(pathStub, "_", counter++, fi.Extension));
return fi;
}
你可以測試所有你想要的,但這永遠不會是併發安全的。 – 2011-06-02 10:56:43
感謝亨克,但這不是特別關注的場景 – Tim 2011-06-03 10:18:52