模拟调用write()

Sar*_*ica 8 python unit-testing mocking

我有一个需要将字符串写入文件的记录器类.所以,我有一个像这样的方法:

def write_to_file(self, string):
  self.__file_handle.write(string)
Run Code Online (Sandbox Code Playgroud)

请注意,错误处理已被删除.显然,我想在不写入文件的情况下测试它.因此通过模拟嘲笑.我已经看过这个解释了如何模拟打开,但它对我没有帮助 - 我打开了file_handle __init__.现在,我可以在setUp()中执行此操作,但是在setUp之后mock_open似乎超出了范围,因此在测试用例中没有用.

你会如何编写一个测试方法来测试使用Mock的write_to_file方法?

lon*_*win 7

我从谷歌到达这里,只是意识到一段时间以来这已经使用mock_open在1.0中构建了