我知道如何使用flexmock在Python中模拟方法,比如
flexmock(subprocess).should_receive('call').replace_with(my_func)
如何通过glob
而不是from glob import glob
来导出对象外部对象,或者例如import glob
?
我发现mocking functions using python mock是一个类似的问题,但它没有回答我的问题。
答案 0 :(得分:8)
由于您将glob()函数直接导入本地名称空间,因此必须获取当前模块的句柄。
from flexmock import flexmock
from glob import glob
import sys
flexmock(sys.modules[__name__]).should_receive('glob')
您还可以执行“import glob as glob_module”或其他内容以避免sys.modules查找。