[Python] [TDD] Mock di un decoratore
Karim
lemieliste a gmail.com
Mer 7 Ago 2019 08:08:59 CEST
Salve lista, stavo per scrivere su telegram, ma poi mi sono detto, naah...
ed eccomi qui
Sto cercando di capire come posso mocckare un decoratore di una view, in
particolare devo decorare un metodo di una view in django
class MyNiceClassView:
@decorator_to_mock
def post(...):
Ora, io devo testare la mia post, soltanto che il mio decoratore fa alcuni
test che vorrei semplicemente evitare. Dato che python carica i moduli solo
una volta, una volta che io faccio:
my_view = MyNiceClassView.as_view()
la `my_view` ora e' gia' wrappata dal decoratore.
Cercando su stack overflow, una soluzione suggerita e' quella di
1) importarsi il modulo
from app import modulo
2) monkey patchare il decorator con un decorator scemo nel modulo importato
modulo.decoratore = decoratore_scemo
3) importarsi la view da testare.
from app.modulo import ViewDaTestare
4) testare la view
Ora, questo processo funziona, se non fai nessuna patch e/o non carichi
nulla prima della monkey patch. Inoltre se il decorator e' gia' caricato da
altri test tutto va a farsi benedire perche' python importa solamente una
volta.
Avete dei suggerimenti su come fare una bella e pulita mocckata del
decorator?
Ciao
--
Karim N. Gorjux
-------------- parte successiva --------------
Un allegato HTML รจ stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20190807/6ca4f8f5/attachment.html>
Maggiori informazioni sulla lista
Python