Nor*_*ren 5 .net c# nunit unit-testing
技术堆栈:.NET 4,C#,NUnit
我正在尝试将测试驱动开发应用于执行图像处理的新项目.我有一个基类,包含共享文件I/O方法和子类,执行各种特定的处理算法.据我了解,单元测试不会触及文件系统或其他对象,并模拟发生的行为.我的基类只包含简单的访问器和简单的文件系统I/O调用.
public class BaseFile
{
public String Path { get; set; }
public BaseFile()
{
Path = String.Empty;
}
public BaseFile(String path)
{
if (!File.Exists(path))
{
throw new FileNotFoundException("File not found.", path);
}
Path = path;
}
}
Run Code Online (Sandbox Code Playgroud)
测试这些方法有什么价值吗?如果是这样,我怎样才能抽象出对文件系统的调用?
我的另一个问题是如何测试特定于一种图像文件(~200 MB)的子类.我搜索了网站并发现了类似的 问题,但没有处理我正在使用的文件大小.一个类是否有可能进行集成测试(使用"黄金文件"),但没有单元测试?在这种情况下,我怎样才能严格遵循TDD方法并首先编写失败的测试?
在回答你的第一个问题时,是的,测试这些方法是有价值的。我已经发布了一个库,可以帮助您准确地做到这一点,而无需实际访问文件系统:https://bitbucket.org/mylesmcdonnell/mpm.io/wiki/Home
在(不是)回答你的第二个问题时,我需要查看一些代码,但我怀疑你可能需要对上述库采取类似的方法。即;定义接口,定义具体的代理,定义工厂以返回代理或模拟。
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |