2011-07-12 14 views
6

sé cómo se burlan de métodos en Python utilizando flexmock, como¿Funciones de burla con FlexMock en Python?

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

¿Cómo se puede funciones simulacros de objetos externos, o por ejemplo glob, que fue importado a través de from glob import glob en lugar de import glob?

he encontrado mocking functions using python mock como una pregunta similar, pero no responde a mi pregunta.

Respuesta

6

Dado que va a importar la función glob() directamente en el espacio de nombres local, usted tiene que conseguir una manija en el módulo actual.

from flexmock import flexmock 
from glob import glob 
import sys 

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

También podría hacer un "pegote de importación como glob_module" o algo por el estilo para evitar la búsqueda sys.modules.

Cuestiones relacionadas