我需要修补os.listdir
和其他os
函数来测试我的 Python 函数。但是当它们被修补时,import
声明失败了。是否可以仅在单个模块(真正的模块)内修补此功能,并让 tests.py 正常工作?
这是一个打破的例子import
:
import os
from mock import patch
# when both isdir and isfile are patched
# the function crashes
@patch('os.path.isdir', return_value=False)
@patch('os.path.isfile', return_value=False)
def test(*args):
import ipdb; ipdb.set_trace()
real_function(some_arguments)
pass
test()
我想看real_function
一个补丁os.path
,并测试以查看正常功能。