我只是不确定如何模拟情况来测试这个.我应该在文件系统上实际创建文件吗?
public static void DeleteIfExists(this FileInfo fileInfo)
{
if (fileInfo.Exists)
{
fileInfo.Delete();
}
}
Run Code Online (Sandbox Code Playgroud)
我会使用像RhinoMocks这样的模拟框架.
[Test]
public void ShouldDeleteAFileWhenItExists()
{
var mockInfo = MockRepository.GenerateMock<FileInfo>();
mockInfo.Expect( i => i.Exists ).Return( true ).Repeat.Once();
mockInfo.Expect( i => i.Delete() ).Repeat.Once();
var extensions = new FileInfoExtensions();
extensions.DeleteIfExists( mockInfo );
mockInfo.VerifyAllExpectations();
}
[Test]
public void ShouldNotDeleteAFileWhenItDoesNotExist()
{
var mockInfo = MockRepository.GenerateMock<FileInfo>();
mockInfo.Expect( i => i.Exists ).Return( false ).Repeat.Once();
mockInfo.Expect( i => i.Delete() ).Repeat.Never();
var extensions = new FileInfoExtensions();
extensions.DeleteIfExists( mockInfo );
mockInfo.VerifyAllExpectations();
}
Run Code Online (Sandbox Code Playgroud)
Delete时抛出异常等的其他测试
| 归档时间: |
|
| 查看次数: |
4342 次 |
| 最近记录: |