b.py:
from unittest.mock import patch
def hello():
print("hello")
return 1
@patch("b.hello", return_value="wow")
def fun(mock_hello):
print(hello())
print("start")
fun()
print("end")
Я использую python3:
pie@pie:~$ python3 --version
Python 3.6.9
Для приведенного выше кода я ожидаю получить следующий, потому что я высмеял hello
:
start
wow
end
Но на самом деле, я получил следующее:
pie@pie:~$ python3 b.py
start
start
wow
end
hello
1
end
Я был совершенно сбит с толку насмешливым поведением, что случилось?