У меня есть макет, который работает нормально, как и ожидалось.
from mock import patch
def second(arg):
return 3
def first():
return second('arg')
@patch('test.second')
def test_test(second_mock):
second_mock.return_value = 47 # We decide this
call_it = first()
second_mock.assert_called_once()
second_mock.assert_called_with('arg')
assert call_it == 47
Но если я перенесу метод second () в другой файл ...
from mock import patch
from test_help import second
def first():
return second('arg')
@patch('test_help.second')
def test_test(second_mock):
second_mock.return_value = 47 # We decide this
call_it = first()
second_mock.assert_called_once()
second_mock.assert_called_with('arg')
assert call_it == 47
Я получаю ту же ошибку: AssertionError: Ожидается, что 'second' будет вызван один раз. Вызывается 0 раз.
Что мне здесь не хватает?
Я пробовал несколько разных способов форматирования, но, похоже, ни один из них не работает. Это даже лучшая практика / пакет в этом случае для модульного тестирования?