[Python] invocare super.setup automaticamente
Marco Beri
marcoberi a gmail.com
Ven 8 Nov 2013 07:52:22 CET
2013/11/8 Piergiuliano Bossi <pgbossi a gmail.com>
> Mi sembra di capire che in Python sia con unittest che con nose non ci sia
> un modo builtin per far si' che, in una gerarchia di test, la setup della
> superclasse venga invocata automaticamente eseguendo un test della
> sottoclasse. Quello che vedo e' che di solito il primo step della setup
> della sottoclasse e' invocare la setup della superclasse (yak!).
>
> Prima domanda: confermate?
>
Sì, questo è il comportamento standard di Python.
> Seconda domanda: vi rassegnate o c'e' qualche escamotage?
>
Ti fa schifo così?
class Father(object):
def setUp(self):
print "Padre"
self.childrenSetUp()
class Children(Father):
def childrenSetUp(self):
print "Figlio"
x = Children()
x.setUp()
Se esegui questo codice ottieni:
Padre
Figlio
Ovviamente se non hai sempre childrenSetup, devi trappare l'errore in
Father.setUp.
Altrimenti puoi giocare con le metaclassi, ma per questo ti risponderà
qualcuno più bravo di me :-)
Ciao.
Marco.
--
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131108/543f1dab/attachment.html>
Maggiori informazioni sulla lista
Python