Vorrei eseguire un'iterazione su un elenco di elementi ed eseguire un'asserzione su ciascuno di essi. Un esempio potrebbe essere verificare se ciascun numero in una lista è dispari.Istanziare Python unittest.TestCase con argomenti
TestCase
:
class TestOdd(unittest.TestCase):
def runTest(self):
"""Assert that the item is odd"""
self.assertTrue(NUMBER %2==1, "Number should be odd")
prova suite
:
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(TestOdd())
# I would like to have:
# suite.addTest(TestOdd(1))
# suite.addTest(TestOdd(2))
# suite.addTest(TestOdd(3))
# ...
unittest.main()
Come posso istanziare un oggetto TestOdd
con un argomento - per esempio, il numero da testare?
Aggiornamento: in base a un post del blog del 2011 (pubblicato come risposta), non esiste un meccanismo integrato per i test parametrizzati. Sarò felice di accettare qualsiasi soluzione più pulita.
Vedi anche: [Accesso argomenti argparse dalla classe] (http: //codereview.stackexchange. it/q/88655/15346) presso CR – kenorb