私が作成したこのメソッドがあります:
public static bool DeleteFile(FileInfo fileInfo)
{
try
{
fileInfo.Delete();
return true;
}
catch (Exception exception)
{
LogManager.LogError(exception);
return false;
}
}
今、私は次の単体テストを書きました:
[TestMethod]
public void DeleteFileSuccessFul()
{
string fileName = "c:\\Temp\\UnitTest3.txt";
FileInfo fileInfo = new FileInfo(fileName);
File.Create(Path.Combine(fileName));
bool success = FileActions.DeleteFile(fileInfo);
Assert.IsTrue(success);
}
ファイルが別のプロセスで使用されているため、このテストは失敗します。テストは、bool success = FileActions.DeleteFile(fileInfo); で失敗します。ファイルが別のプロセスで使用されているためです。
動作するようにテストを変更するにはどうすればよいですか?