【发布时间】:2021-11-11 18:01:51
【问题描述】:
我试图模拟下面的代码 sn-p 出来,但一直碰壁。
with open(file_path, 'wb') as f:
f.write(b''.join(byte_data))
在我试图模拟这一点的测试中,我实际上也不想写入文件。实际上,我什至不在乎文件是否已打开。
使用任意file_path 多次调用open。理想情况下,整个卡盘都会被嘲笑。
我已尝试使用 mock_open 帮助程序,但无法正常工作。
一般来说,我只想修补 builtins.open 以及需要修补的任何东西来修补代码的 f.write(b''.join(byte_data)) 部分。
【问题讨论】:
-
只模拟
builtins.open就足够了,f也可以模拟,所以不需要单独模拟write。你尝试了什么?
标签: python-3.x mocking pytest pytest-mock