【发布时间】:2010-09-27 02:55:25
【问题描述】:
我有一个我想对其中包含文件系统调用的方法进行单元测试,我想知道如何去做。我看过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);
}
}
我正在模拟 Transform(..) 方法以不向文件输出任何内容,因为我正在对 Process 方法而不是 Transform(..) 方法进行单元测试,因此不存在 output.txt 文件。因此 if 检查失败。
我应该如何正确地做到这一点?我是否应该围绕我要模拟的文件 io 方法创建某种包装器?
【问题讨论】:
标签: unit-testing file-io