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
怎麼來的?