1
我有這讓一些文件的備份方法:單元測試使用SystemWrapper和犀牛製品
public void MakeBackup(IFileWrap file, string path)
{
if (path == null)
throw new ArgumentNullException();
Console.WriteLine();
string backups = Environment.CurrentDirectory + @"\Backups\";
if (!Directory.Exists(backups))
Directory.CreateDirectory(backups);
if (file.Exists(path))
{
file.Copy(path,backups + Path.GetFileName(path),overwrite: true);
Console.WriteLine("Backup of the " + Path.GetFileName(path) + " lies in the " + backups);
}
}
與IAM的嘗試使用SystemWrapper和犀牛製品進行測試:
[TestMethod]
public void MakeBackupTest()
{
IFileWrap fileRepository = MockRepository.GenerateMock<IFileWrap>();
fileRepository.Expect(x => x.Exists(@"G:\1.txt"));
fileRepository.Expect(x => x.Copy(@"G:\1.txt", Environment.CurrentDirectory + @"\Backups\1.txt", overwrite: true));
new Windows().MakeBackup(fileRepository,@"G:\1.txt");
fileRepository.VerifyAllExpectations();
}
測試以上失敗。我究竟做錯了什麼?
它是如何「失敗」?它是拋出一個異常,還是期望失敗?請發佈信息或例外情況。 – mxmissile
調試器是程序員的最佳工具! – Andrew