pyfakefs(主页)做您想要的–一个
伪造的
文件系统;它是第三方,尽管该第三方是Google。有关使用的讨论,请参见如何为被测模块替换文件访问引用。
对于 嘲笑
,unittest.mock是用于Python
3.3+(标准库PEP 0417);
有关早期版本,请参见PyPI:模拟(适用于Python 2.5
+)(主页)。
测试和模拟中的术语不一致;使用Gerard Meszaros的Test
Double术语,您正在要求“伪造”:行为类似于文件系统(可以创建,打开和删除文件),但不是实际的文件系统(在这种情况下,内存中),因此您不需要测试文件或临时目录。
在经典的 模拟中 ,您可以 模拟 出系统调用(在Python中,模拟出
os模块中的函数,如
os.rm
和
os.listdir),但这要复杂得多。



