Kursinhalt
Python Fortgeschrittene Konzepte
Python Fortgeschrittene Konzepte
Assert-Anweisung
Die assert
-Anweisung wird verwendet, um zu überprüfen, dass eine Bedingung True
ist. Wenn die Bedingung False
ist, schlägt der Test fehl. Pytest verbessert das grundlegende assert
, indem es detaillierte Ausgaben bereitstellt, wenn die Assertion fehlschlägt, was das Verständnis erleichtert, was schiefgelaufen ist.
Einfache Assertions:
Überprüfen Sie, dass die Bedingung als True
ausgewertet wird. Wenn sie als False
ausgewertet wird, löst Pytest einen AssertionError
aus und markiert den Test als fehlgeschlagen.
Im nächsten Beispiel sollte word.isupper()
True
zurückgeben, wenn word
in Großbuchstaben ist. Wenn nicht, schlägt der Test fehl.
Vergleichende Assertions:
Um zu überprüfen, dass das Ergebnis einer Operation (actual) dem erwarteten Wert entspricht.
Hier wird die Additionsfunktion getestet, um sicherzustellen, dass sie zwei Zahlen korrekt addiert. Die Nachricht nach dem Komma bietet zusätzlichen Kontext, wenn der Test fehlschlägt.
Assertions mit detailliertem Feedback:
Um eine benutzerdefinierte Fehlermeldung bereitzustellen, die angezeigt wird, wenn die Assertion fehlschlägt, und mehr Einblick in das Problem bietet.
Diese Assertion überprüft, ob die multiply
-Funktion 10
zurückgibt, wenn 2
und 5
multipliziert werden. Die benutzerdefinierte Nachricht klärt das erwartete Ergebnis im Vergleich zum tatsächlichen Ergebnis, wenn der Test fehlschlägt.
Assertions für Ausnahmen:
Um zu bestätigen, dass ein bestimmter Ausnahmefehler von einem Codeblock ausgelöst wird.
Dieser Test stellt sicher, dass eine Division durch Null einen ZeroDivisionError
auslöst. Es ist wichtig für das Testen der Fehlerbehandlung in Ihrem Code.
Erweiterte Assertions:
Verwenden Sie Assertions, um komplexere Bedingungen zu überprüfen, wie z.B. Inhalte von Listen, Wörterbüchern oder nuanciertere Zustände in Ihrer Anwendung.
Dieser Test überprüft das Vorhandensein eines Elements in einer Liste und bietet klares Feedback, wenn das Element fehlt.
Danke für Ihr Feedback!