У меня есть такой код:
def create_namespace():
_create_foobar()
_create_spamegg()
p = list()
p.append(create_namespace())
Мне нужно смоделировать _create_foobar и _create_spamegg (оба определены в одном файле), и я смог сделать это с обычным патчем, но когда я запускаю тест случаи, которые написаны так:
from xyz import create_namespace
@patch('path.to.file._create_foobar', mock_func)
@patch('path.to.file._create_spamegg', mock_func)
def test_create_namespace():
assert create_namespace() is None
Я получаю ту же ошибку при выполнении тестовых примеров, как и я, но не смог подделать _create_foobar and _create_spamegg
. Если я закомментирую p.append(create_namespace())
, тесты пройдут успешно. Я пробовал что-то вроде patch.object()
, используя patcher in setUp
, но безрезультатно. Может ли этот код быть протестирован? Подскажите, пожалуйста, как это можно сделать?