Пересмешивать функции с FlexMock в Python? - PullRequest
7 голосов
/ 12 июля 2011

Я знаю, как макетировать методы в Python, используя flexmock, например

 flexmock(subprocess).should_receive('call').replace_with(my_func)

Как один макет функционирует вне объектов или, например, glob, который был импортирован через from glob import glob вместо import glob?

Я нашел насмешливые функции, использующие python mock как похожий вопрос, но он не отвечает на мой вопрос.

1 Ответ

8 голосов
/ 16 июля 2011

Поскольку вы импортируете функцию glob () непосредственно в локальное пространство имен, вы должны получить дескриптор текущего модуля.

from flexmock import flexmock
from glob import glob
import sys

flexmock(sys.modules[__name__]).should_receive('glob')

Вы также можете выполнить «импорт glob as glob_module» иличто-то в этом роде, чтобы избежать поиска sys.modules.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...