[Python-es] pregunta de nova sobre unittest

Jose Caballero jcaballero.hep en gmail.com
Vie Mayo 20 11:10:00 EDT 2016


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
<yamila.ms en gmail.com> escribió:
> 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/
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


Más información sobre la lista de distribución Python-es