【发布时间】:2011-10-04 11:44:24
【问题描述】:
是否有方法或模块可以让我模拟假文件系统以用于 Perl 单元测试?
我在单元测试中使用了各种Test::* 和Test::Mock* 模块,但偶尔我希望能够伪造文件系统。一个简单的例子(也是最低要求)是伪造-r 或-f 文件测试运算符的结果,这样当我调用执行文件测试的对象或模块时,我可以更轻松地控制结果。
我知道有很多方法可以解决这个问题,例如创建临时文件或将文件测试包装在它们自己的函数中,然后可以对其进行模拟,但有时如果我可以让 Perl骗我...所以不需要建议重写正在测试的代码的解决方案;-)
更新:
在刚刚找到并阅读this SO question 之后,重写代码以使其更易于测试似乎是更明智的选择。尽管如此,手指交叉...
【问题讨论】:
标签: perl unit-testing filesystems mocking