擅长:python、mysql、java
<p>模仿的第一条规则:不要在定义对象/方法的地方模仿它们,要在使用它们的地方模仿它们。所以不是<code>__builtin__.open</code>,而是<code>my_app.my_file.open</code></p>
<p>第二,我不知道<code>mock_open</code>是什么,但您可以用普通的模拟方式来完成:</p>
<pre><code>with mock.patch('my_app.my_file.open') as mocked_open:
mocked_open.return_value = StringIO('foo')
</code></pre>
<p>不管怎样,这都有效。在</p>
<p><strong>p.S.</strong></p>
<p><strong>始终</strong>在处理文件时使用<code>with</code></p>