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/

Responder a