Unit-Tests sind ein mächtiges Werkzeug für Entwickler, um ihre Code-Qualität sicherzustellen. Sie ermöglichen es dir, Funktionen isoliert zu testen und sicherzustellen, dass sie wie gewünscht arbeiten. In diesem Leitfaden zeige ich dir, wie du deinen ersten Unit-Test in Python schreibst. Du lernst dabei nicht nur die Grundlagen des Unit-Testings, sondern auch, wie du deine Tests effizient aufbauen kannst.
Wichtigste Erkenntnisse
- Unit-Tests helfen, Fehler frühzeitig zu erkennen und sicherzustellen, dass deine Funktionen wie gewünscht arbeiten.
- Die Python-Bibliothek unittest bietet eine einfache Möglichkeit, Tests zu implementieren.
- Effektive Tests umfassen sowohl positive als auch negative Szenarien und prüfen die Datentypen der Rückgaben.
Schritt-für-Schritt-Anleitung
Schritt 1: Vorbereitung deines Projekts
Zunächst benötigst du eine Python-Datei, in der deine Funktion definiert ist. In unserem Beispiel nennen wir die Datei preisberechnung.py. Hier definierst du eine Funktion get_verkaufspreis, die den Einkaufspreis übernimmt und eine Marge hinzufügt.

Schritt 2: Erstelle eine Datei für deine Unit-Tests
Erstelle danach eine neue Datei, die die Tests für diese Funktion enthalten soll. Nennen wir diese Datei preisberechnung_test.py. Hier wirst du mit dem unittest-Modul arbeiten.
Um das Framework zu nutzen, importierst du es zu Beginn deiner Datei:

Schritt 3: Definiere eine Testklasse
Eine Testklasse sollte von unittest.TestCase erben. Dies ermöglicht dir, alle Tests in einer strukturierten Form zu organisieren. Benenne die Klasse in PreisberechnungTest um, um klarzustellen, was getestet wird.

Schritt 4: Schreibe deine Tests
Jetzt ist es an der Zeit, tatsächliche Tests zu schreiben. Beginne mit einem Test, der prüft, ob die Rückgabe von get_verkaufspreis den erwarteten Typ (float) hat:

Schritt 5: Teste ungültige Eingaben
Es ist ebenso wichtig, ungültige Eingaben zu testen. Füge einen Test hinzu, der prüft, ob die Funktion bei ungültigen Eingaben, wie None oder einem String, eine Ausnahme wirft:

Schritt 6: Tests ausführen
Um deine Tests auszuführen, kannst du dies entweder über das Terminal oder direkt in deiner IDE tun. Wenn du das Terminal benutzt, führe folgendes aus:
In deiner IDE, wie PyCharm, kannst du die Run-Konfiguration benutzen, um die Tests durchzuführen.

Schritt 7: Ergebnisse überprüfen
Wenn du die Tests erfolgreich salonierst, wirst du eine Ausgabe erhalten, die dir anzeigt, ob alle Tests bestanden wurden. Ein grünes Resultat bedeutet, dass dein Code funktioniert, wie vorgesehen.
Schritt 8: Tests erweitern
Zusätzlich zu den grundlegenden Tests kannst du noch weitere relevante Szenarien hinzufügen, um die Sicherheit des Codes zu erhöhen. Bedenke, sowohl positive als auch negative Fälle zu testen, um sicherzustellen, dass deine Logik in allen Situationen funktioniert.

Zusammenfassung - Erster Unit-Test mit Python: Grundlagen und Umsetzung
Das Schreiben von Unit-Tests ist eine wichtige Fertigkeit, die dir hilft, deinen Code zuverlässig zu machen. In dieser Anleitung hast du gelernt, wie du den ersten Unit-Test in Python schreibst, von der Definition der Funktion bis hin zur Ausführung und Überprüfung der Ergebnisse. Durch gründliche Tests wird die Wartbarkeit deines Codes erheblich verbessert und Probleme werden frühzeitig erkannt.
Häufig gestellte Fragen
Wie erstelle ich einen Unit-Test in Python?Um einen Unit-Test in Python zu erstellen, erstelle eine Testklasse, die von unittest.TestCase erbt, und schreibe Tests als Methoden dieser Klasse.
Warum sollte ich Unit-Tests schreiben?Unit-Tests helfen, Fehler frühzeitig zu erkennen, und stellen sicher, dass deine Funktionen wie gewünscht arbeiten.
Wie führe ich Unit-Tests aus?Du kannst Unit-Tests über das Terminal mit python -m unittest [dateiname] oder direkt in deiner IDE ausführen.
Was sind gute Praktiken für Unit-Tests?Eine gute Praxis umfasst sowohl positive als auch negative Testszenarien sowie die Prüfung von Datentypen. Auch die Regelmäßigkeit der Ausführung ist wichtig, um Veränderungen im Code sofort zu überprüfen.