Привет, это все о том, где и что патчить. В вашем примере вы издеваетесь над классом MockMe
в модуле mockme
. Вам нужно смоделировать класс, который импортируется в ваш модуль main.py
. Взгляните на , где патчить в Python документах.
Надеюсь, это поможет!
test_main.py
from main import MainObejct
def test_main(mocker):
m_mockerme = mocker.patch("main.MockMe")
m_mockerme.return_value.hello.return_value = "goodbye"
message = MainObejct().message()
assert message == "goodbye"
main.py
from library.mockme import MockMe
class MainObejct:
def __init__(self):
self.mock_me = MockMe()
def message(self):
return self.mock_me.hello()
library/mockme.py
class MockMe:
def hello(self):
return "hello"