使用Python中的FlexMock模拟函数?

时间:2011-07-12 12:57:48

标签: python mocking

我知道如何使用flexmock在Python中模拟方法,比如

 flexmock(subprocess).should_receive('call').replace_with(my_func)

如何通过glob而不是from glob import glob来导出对象外部对象,或者例如import glob

我发现mocking functions using python mock是一个类似的问题,但它没有回答我的问题。

1 个答案:

答案 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查找。