que estoy tratando de conseguir mock.patch a trabajar en el siguiente fragmento de código de ejemplo:parches Mock desde/sentencia import en Python
from mock import patch
from collections import defaultdict
with patch('collections.defaultdict'):
d = defaultdict()
print 'd:', d
Esto da el siguiente resultado:
d: defaultdict(None, {})
Lo que significa ese defecto no fue corregido
Si se sustituye la declaración del/de la importación con una declaración recta importación funciona:
from mock import patch
import collections
with patch('collections.defaultdict'):
d = collections.defaultdict()
print 'd:', d
de salida es:
d: <MagicMock name='defaultdict()' id='139953944084176'>
¿Hay alguna manera de arreglar una llamada utilizando desde/importación?
Gracias
¿No significa que las pruebas unitarias comenzarán a comportarse silenciosamente de manera muy diferente si cambia los detalles de implementación de si usa 'de X import Y' o' import X.Y'? – detly
@detly: Creo que es cierto, aunque no estoy muy familiarizado con el simulacro, así que no puedo decir por experiencia. – BrenBarn
@detly sí, eso es correcto – Daenyth