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....@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@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/