[Python-es] pregunta de nova sobre unittest
Yamila Moreno Suárez
yamila.ms en gmail.com
Jue Mayo 19 16:13:50 EDT 2016
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 que es un poco lío, no desesperes, es un lío de cuidado. Ánimo :-)
El 13 may. 2016 2:34, "Jose Caballero" <jcaballero.hep en gmail.com> escribió:
> 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, mock_requests1, mock_requests2):
> mock_requests1.return_value = None
> mock_requests2.return_value = None
> obj = myclass()
> obj.f()
>
>
> mock_requests1 es el argumento asociado a
> @patch('mypackage.mymodule.myclass.g')
> mock_requests2 es el argumento asociado a
> @patch('mypackage.mymodule.myclass.h')
>
> Lo que no me gusta es que si quito uno de los decoradores, hay que
> cambiar la lista de argumentos de test_f( )
> Pero por lo demas, parece que funciona.
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20160519/ff6bd040/attachment.html>
Más información sobre la lista de distribución Python-es