是否有任何库或方法可以在C#中模拟文件系统以编写单元测试?在我目前的情况下,我有一些方法来检查特定文件是否存在并读取其创建日期。将来我可能需要更多的功能。
是否有任何库或方法可以在C#中模拟文件系统以编写单元测试?在我目前的情况下,我有一些方法来检查特定文件是否存在并读取其创建日期。将来我可能需要更多的功能。
常见的解决方案是使用一些抽象的文件系统API(例如Java中的Apache Commons VFS):所有应用程序逻辑都使用API,单元测试能够使用存根实现来模拟真实的文件系统(内存仿真或类似方法)。
对于C#,存在类似的API:NI.Vfs,它与Apache VFS V1非常相似。它包含默认实现,包括本地文件系统和内存文件系统(后者可以直接在单元测试中使用)。
我们目前使用专有的数据引擎,其API未公开为接口,因此我们几乎无法对我们的数据访问代码进行单元测试。然后我也采用了Matt和Joseph的方法。