Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Einführung in Unittest | Unittest-Framework
Python Fortgeschrittene Konzepte
course content

Kursinhalt

Python Fortgeschrittene Konzepte

Python Fortgeschrittene Konzepte

1. Module und Importe
2. Fehlerbehandlung
3. Dateiverwaltung
4. Pytest Framework
5. Unittest-Framework
6. Iteratoren und Generatoren

book
Einführung in Unittest

Unittest ist Teil der Standardbibliothek von Python, was bedeutet, dass keine zusätzlichen Installationen erforderlich sind, um loszulegen. Es ist um das Konzept von Testfällen herum gestaltet, bei denen es sich um Python-Klassen handelt, die von der TestCase-Klasse des Frameworks abgeleitet sind. Unittest ist ein hervorragendes Werkzeug für alle, die ihre Testreise beginnen, da es Tests auf eine Weise strukturiert, die die Prinzipien der objektorientierten Programmierung widerspiegelt.

Die Struktur von Unittest

In Unittest ist jeder Test eine Methode innerhalb einer Unterklasse von unittest.TestCase. Dieses Design fördert das Gruppieren verwandter Tests, was helfen kann, den Testcode logisch zu organisieren und lesbarer zu machen.

Schreiben eines Tests mit Unittest

Lassen Sie uns eine einfache Funktion testen, die den Durchschnitt von zwei Zahlen berechnet. Hier ist die Funktion, die wir testen möchten:

Erstellen eines Testfalls

Um einen Testfall zu erstellen, definieren Sie eine Klasse, die von unittest.TestCase erbt. Innerhalb dieser Klasse können Sie dann Methoden definieren, um die Funktion calculate_average zu testen.

  • Zuerst import Sie das Unittest-Modul, das Teil der Standardbibliothek von Python ist;
  • class TestCalculateAverage(unittest.TestCase) erstellt einen neuen Testfall. Es erbt von unittest.TestCase, das die Testfunktionalität bereitstellt;
  • Jede Methode in der Klasse sollte mit test_ beginnen;
  • Die Methoden verwenden spezifische assert-Anweisungen, um zu überprüfen, ob die Bedingung wahr ist.

Beispiel eines erfolgreichen Testergebnisses

Wenn alle Tests im Unittest erfolgreich sind, ist die Ausgabe unkompliziert und zeigt an, dass alle Tests erfolgreich ohne Fehler ausgeführt wurden. Hier ist ein Beispiel für einen erfolgreichen Testlauf:

Beispiel eines fehlgeschlagenen Testergebnisses

Wenn ein oder mehrere Tests fehlschlagen, liefert die Ausgabe Details zu den Fehlern, einschließlich welcher Tests fehlgeschlagen sind und warum. Hier ist ein Beispiel, wie es aussehen könnte, wenn ein Test fehlschlägt:

Diese Ausgabe beinhaltet:

  • ..F zeigt an, dass drei Tests ausgeführt wurden; die ersten beiden bestanden (dargestellt durch ..), und der dritte schlug fehl (F);
  • FAILED (failures=1) zeigt, dass es einen Fehler unter den ausgeführten Tests gab;
  • Der detaillierte Fehlerbericht beginnt mit der Testkennung (test_average_floats) und der Klasse (TestCalculateAverage). Er bietet einen Traceback zur Zeile in Ihrem Testcode, die den Fehler verursacht hat, und erklärt die Art des Assertion-Fehlers, einschließlich des erwarteten Wertes, des tatsächlichen Wertes und der akzeptablen Fehlermarge.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 1
We're sorry to hear that something went wrong. What happened?
some-alt