【发布时间】:2017-07-20 14:00:28
【问题描述】:
我以前从未使用过单元测试,但我希望继续这样做。现在我有我想测试的最简单的方法:
public void GetAvailableFiles(string rootFolder)
{
string[] dirs = Directory.GetFiles(rootFolder);
}
我对此的单元测试如下:
[Test]
public void CheckDirectory()
{
AvailableFile fileUpload = new AvailableFile();
fileUpload.GetAvailableFiles("C:\\Input");
}
当我调试它时,我会返回目标位置中的所有文件。但是,我正在努力想出一个有效的条件,在这个条件下,这个测试可以验证它已经通过了。
我的想法是为此测试提供预期的文件数。我有 10 个文件,所以我应该期待 10 个结果。但是,我不确定如何用我所拥有的东西来写这篇文章。
我应该怎么做?
【问题讨论】:
-
您的测试设置可以create a temp directory,用一堆已知名称的空文件填充它,在该目录上运行您的
GetAvailableFiles,验证并清理/删除临时目录。也就是说,这可能是一个人为的场景。从本质上测试Directory.GetFiles是否有效似乎并不是非常有用。 (此外,您不会返回或对string[] dirs结果执行任何操作,并且该方法是无效的。您可能希望它返回它们或公开您获得的文件列表。也许这只是一个错字。)
标签: c# unit-testing