Смоделируйте вызов функции, используемый внутри добавления списка - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть такой код:

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, но безрезультатно. Может ли этот код быть протестирован? Подскажите, пожалуйста, как это можно сделать?

...