我有一个方法,我想单元测试有文件系统调用,并且想知道如何去做。我看过Unit testing code with a file system dependency,但它不回答我的问题。包含文件系统调用的单元测试方法
我用于测试的方法看起来是这样的(C#)
public void Process(string input)
{
string outputFile = "output.txt";
this.Transform(input, Resources.XsltFile, outputFile);
if ((new FileInfo(outputFile)).Length == 0)
{
File.Delete(outputFile);
}
}
我嘲讽的变换(..)方法,以正常输出到文件,因为我单元测试过程的方法,而不是转换(..)方法,因此不存在output.txt文件。因此,如果检查失败。
我该如何正确地做到这一点?我是否应该在文件io方法上创建某种包装类型,我也会模拟出来?