我正在尝试使用模拟(mock)创建一个文档测试(doctest),该函数位于一个单独的模块中,并以以下方式导入。
from foomodule import foo
def bar():
"""
>>> from minimock import mock
>>> mock('foo', nsdicts=(bar.func_globals,), returns=5)
>>> bar()
Called foo()
10
"""
return foo() * 2
import doctest
doctest.testmod()
foomodule.py:
def foo():
raise ValueError, "Don't call me during testing!"
这个失败了。
如果我将import更改为import foomodule并在所有地方使用foomodule.foo,那么它就可以工作了。
但是是否有一种方法可以模拟以上述方式导入的函数?