使用mock_open()和patch进行Python单元测试

时间:2015-02-24 01:39:42

标签: unit-testing python-2.7 mocking

我无法按照文档中的建议使用mock_open修补模块的open方法。

import my_module
import mock

def test_foo():
    m = mock.mock_open()
    with patch('my_module.open', m, create=True):
        my_module.io_func()

>>> test_foo()
IOError: [Errno 2] No such file or directory: 'foofile'

知道补丁为什么不起作用?

或者,以下按预期执行:

import my_module
import mock

def test_foo():
    m = mock.mock_open()
    my_module.__builtins__['open'] = m
    my_module.io_func()

然而,这感觉就像是黑客。

0 个答案:

没有答案