Si tienes que mockear varios métodos lo más fácil es poner varios "with"
atendiendo a pequeñas cosas:
- cada sentencia sangrada (indentada) respecto a la anterior
- el código que pruebas sangrado respecto a todos los bloques with
- asegúrate de que cada block tiene un alias distinto
Por cierto e
creo recordar que lo intente cuando abri el hilo. No recuerdo muy
bien, pero creo que no supe como hacerlo para 2 o mas metodos. Lo
intentare de nuevo.
PS: perdon por las [no] tildes
El día 19 de mayo de 2016, 16:13, Yamila Moreno Suárez
escribió:
> Buenas! En lugar de usar decoradores, prueba a
Buenas! En lugar de usar decoradores, prueba a usar el context manager:
def test_my_method():
with patch('module.to.patch') as mock_1:
mock_1.return_value = xxx
result = my_method()
assert mock_1.calle_count == 1
assert result == lo-que-sea
Suerte!
Y si ves qu
Hola de nuevo,
he encontrado una manera de hacerlo (a parte de crear myfakeclass).
Mas o menos funciona, aunque lo veo algo "error-prone":
class Test(unittest.TestCase):
@patch('mypackage.mymodule.myclass.g')
@patch('mypackage.mymodule.myclass.h')
def test_f(self, mo
2016-05-12 22:58 GMT+02:00 Jose Caballero :
> Lo voy a complicar un poco mas...
>
>
> $ cat /usr/lib/python2.6/site-packages/mypackage/mymodule.py
>
> class myclass:
>
> def f(self, ):
> # codigo aqui
> x = self.g()
> y = self.h()
>
Lo voy a complicar un poco mas...
$ cat /usr/lib/python2.6/site-packages/mypackage/mymodule.py
class myclass:
def f(self, ):
# codigo aqui
x = self.g()
y = self.h()
# codigo aqui
def g(self, ...):