1
时请考虑以下简单的代码:模块级的代码运行两次修补
test_code.py
def f():
return 'unpatched'
import patch_stuff
patch_stuff.patch_it_up()
print f()
patch_stuff.py
from mock import patch
def patch_it_up():
p = patch('test_code.f')
m = p.start()
m.return_value = 'patched'
我期望的输出运行python test_code.py
为
patched
但是输出是:
unpatched
patched
怎么来的?