Kurs Python richtig lernen/Unit Testing
Übung "Unit Testing mit Python und Nose"
In dieser Übung lernen Sie Unit Testing mit dem Python Test Runner Nose.
Geschätzter Zeitaufwand für diese Übung: ca. 2h.
Einstieg
Um Nose kennenzulernen starten wir mit einem Beispiel. Speichern Sie den folgenden Unit test in einem File "test_42.py":
def test_life_the_universe_and_everything(): assert 42 == 42
Führen Sie diesen Test wiefolgt aus:
$ nosetests
Als Output bekommen Sie eine kleine Statistik inkl. dem Fehlerstatus (OK/NOK). Möchten Sie detailliertere Infors (welche Tests durchgeführt wurden), dann verwenden Sie die Option -v.
Manchmal benötigen Sie für Ihre Unit Tests Fixtures. Diese können Sie wiefolgt definieren:
def test_life_the_universe_and_everything(): assert 42 != 42
def setUp(): print "Setup" def tearDown(): print "tearDown"
test_life_the_universe_and_everything.setUp = setUp test_life_the_universe_and_everything.tearDown = tearDown
Führen Sie dieses Beispiel aus und verifizieren Sie, dass die Ausgaben Ihren Erwartungen entsprechen (setup, failing test, teardown).
Nose erlaubt es Ihnen - neben Testfunktionen - Ihre Tests auch innerhalb einer Klasse zu schreiben (gemäss xUnit). Das gleiche Beispiel wie vorhin:
class Test42: def setUp(self): print "Setup" def tearDown(self): print "tearDown" def test_life_the_universe_and_everything(self): assert 42 != 42