是否有任何库或方法来模拟C#中的文件系统来编写单元测试?在我目前的情况下,我有方法检查某个文件是否存在并读取创建日期.我将来可能需要更多.
我们有一些调用File.Copy,File.Delete,File.Exists等的方法.如何在不实际访问文件系统的情况下测试这些方法?
我认为自己是一个单元测试n00b,所以任何建议都表示赞赏.
我想在单元测试中加载外部XML文件,以测试该XML上的一些处理代码.如何获取文件的路径?
通常在Web应用程序中我会这样做:
XDocument.Load(Server.MapPath("/myFile.xml"));
Run Code Online (Sandbox Code Playgroud)
但显然在我的单元测试中我没有引用Server或HttpContext,那么如何映射路径以便我不必指定完整路径?
更新:
我只想说明我实际测试的代码是针对XML解析器类的,类似于:
public static class CustomerXmlParser {
public static Customer ParseXml(XDocument xdoc) {
//...
}
}
Run Code Online (Sandbox Code Playgroud)
所以为了测试这个,我需要解析一个有效的XDocument.正在测试的方法不会访问文件系统本身.我可以直接在测试代码中从String创建XDocument,但我认为从文件加载它会更容易.