Мой код выглядит следующим образом:
Код: Выделить всё
main.pyКод: Выделить всё
from project_mock.library import get_number
def my_method_1() -> int:
return get_number()
Код: Выделить всё
library.pyКод: Выделить всё
def get_number() -> int:
return 1
Код: Выделить всё
import pytest
from pytest_mock import MockerFixture
from mock import MagicMock
from project_mock.main import my_method_1
@pytest.fixture
def mock_get_number(mocker: MockerFixture) -> MagicMock:
mocked_fn = mocker.patch("project_mock.library.get_number", autospec=True)
mocked_fn.return_value = 2
return mocked_fn
def test_mocking(mock_get_number: MagicMock) -> None:
assert my_method_1() == 2
mock_get_number.assert_called_once()
Код: Выделить всё
def test_mocking(mock_get_number: MagicMock) -> None:
> assert my_method_1() == 2
E assert 1 == 2
E + where 1 = my_method_1()
Код: Выделить всё
from project_mock import library
def my_method_1() -> int:
return library.get_number()
Я хочу избежать необходимости изменять правильный рабочий код для соответствия тестам.