[Python] invocare super.setup automaticamente

enrico franchi enrico.franchi a gmail.com
Sab 9 Nov 2013 10:55:02 CET


2013/11/8 Piergiuliano Bossi <pgbossi a gmail.com>

> In realta' essere indipendenti dall'ordine di esecuzione dei diversi
> metodi di setup (o di test) e' una cosa positiva, non negativa, ma sono
> sicuro che molti dissentono su questo aspetto. :)


Diciamo che essere "indipendenti" sembra fico quando lo leggi come "non
posso aspettarmi garanzie sull'ordine di esecuzione".
Quando pensi che 'essere indipendenti' vuole dire che la vm se li puo'
riordinare come pare e che se tu hai un baco legato al non avere rispettato
il punto sopra (tipicamente involontariamente) e che hai gratis un bug
intermittente che non attrae certo il mio amore.

Secondo me tu stai ancora pensando in JUnit. Ora a me sinceramente il
modello xUnit per determinate cose piace molto. E' ben pensato e ben
compreso. Nose pero', in essenza, non si lega molto a quel metodo. Lo
supporta, ma poi fai quello che ti pare.

Per capirci, se avessi avuto il tuo problema, lo avrei risolto con un:

setup = seq([setup1, setup2, setup3, setup4])

e poi a seconda se il pattern prevalente si sposa con xUnit (ovvero gruppo
di test affini con lo stesso setup) sarebbe stato un

class MyTest(...):
    def setUp(self):
         setup(self)

oppure non e' che mi scandalizza molto anche

@with_setup(setup)
def test1(...): ...

e cosi' via.

-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131109/d303c37e/attachment-0001.html>


Maggiori informazioni sulla lista Python