Ho avuto lo stesso dubbio e ho trovato un modo per ottenere test per le funzioni interne.
def outer():
def inner():
pass
if __debug__:
test_inner(inner)
# return
def test_inner(f):
f() # this calls the inner function
outer()
Fondamentalmente è possibile inviare la funzione interna come parametro all'esterno e testarla come si desidera. Quando si chiama outer(), il test verrà eseguito e, poiché si tratta di una chiusura, manterrà qualsiasi proprietà extra dalla funzione esterna (come le variabili). Usando una lista, puoi inviare tutte le funzioni che desideri. Per ignorare l'se, una possibilità è quella di eseguire il codice così:
python -O code.py
fonte
2016-06-18 17:34:34
@alemangui: grazie! Questo risponde alla mia domanda. – e1i45
Lo metto come una risposta :) – alemangui