Kurs Python richtig lernen/Unit Testing: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 9: | Zeile 9: | ||
Um Nose kennenzulernen starten wir mit einem Beispiel. Speichern Sie den folgenden Unit test in einem File "test_42.py": | 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(): | |||
def test_life_the_universe_and_everything(): | assert 42 == 42 | ||
Führen Sie diesen Test wiefolgt aus: | Führen Sie diesen Test wiefolgt aus: | ||
$ nosetests | |||
$ 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''. | 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''. | ||
| Zeile 24: | Zeile 20: | ||
Manchmal benötigen Sie für Ihre Unit Tests Fixtures. Diese können Sie wiefolgt definieren: | Manchmal benötigen Sie für Ihre Unit Tests Fixtures. Diese können Sie wiefolgt definieren: | ||
def test_life_the_universe_and_everything(): | |||
def test_life_the_universe_and_everything(): | assert 42 != 42 | ||
Führen Sie dieses Beispiel aus und verifizieren Sie, dass die Ausgaben Ihren Erwartungen entsprechen. | 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 | |||
Version vom 12. September 2012, 11:07 Uhr
Ü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