Kurs Python richtig lernen/Unit Testing: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „=== Unit Testing mit Python ===“)
 
Zeile 1: Zeile 1:
=== Unit Testing mit Python ===
+
== Ü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":
 +
 
 +
<code>
 +
def test_life_the_universe_and_everything():
 +
    assert 42 == 42
 +
</code>
 +
 
 +
Führen Sie diesen Test wiefolgt aus:
 +
 
 +
<code>
 +
$ nosetests
 +
</code>
 +
 
 +
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:
 +
 
 +
<code>
 +
def test_life_the_universe_and_everything():
 +
    assert 42 == 42
 +
 
 +
test_life_the_universe_and_everything.setUp = lambda: print "setUp"
 +
test_life_the_universe_and_everything.tearDown = lambda: print "tearDown"
 +
</code>
 +
 
 +
Führen Sie dieses Beispiel aus und verifizieren Sie, dass die Ausgaben Ihren Erwartungen entsprechen.

Version vom 12. September 2012, 12:47 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

test_life_the_universe_and_everything.setUp = lambda: print "setUp" test_life_the_universe_and_everything.tearDown = lambda: print "tearDown"

Führen Sie dieses Beispiel aus und verifizieren Sie, dass die Ausgaben Ihren Erwartungen entsprechen.