8

pyfakefs听起来非常有用:它“最初是作为核心 Python 模块的适度虚假实现开发的,以支持中等复杂的文件系统交互,并于 2006 年 9 月在 Google 范围内推出......从那时起,它收到了许多(经过充分测试) 有助于扩展其功能和实用性,并在 900 多个 Google Python 测试中使用。”

文档目前似乎仅在源代码本身的文档字符串中可用。它解释说该模块提供以下元素:

  • FakeFile:提供真实文件的外观。
  • FakeDirectory:提供真实目录的外观。
  • FakeFilesystem:提供真实目录层次结构的外观。
  • FakeOsModule:使用 FakeFilesystem 提供一个假的 os 模块替换。
  • FakePathModule:伪造的 os.path 模块替换。
  • FakeFileOpen:伪造的 file() 和 open() 函数替换。

然而,文档并没有解释如何在测试中有效地使用这些元素。

确保被测模块访问假文件系统而不是真实文件系统的正确方法是什么?

4

1 回答 1

3

有关支持 unittest 和 doctest 的代码,请参阅http://github.com/jmcgeheeiv/pyfakefs ,以及一个实际示例和教程。

于 2014-04-24T08:11:08.813 回答