Python Testing mit pytest (Testen in Python mit pytest)
274 Seiten
German
PDF
4.5

Python Testing mit pytest (Testen in Python mit pytest)

Python Testing mit pytest (Testen in Python mit pytest)

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „Python Testing with pytest“ (zweite Ausgabe, 2022) von Brian Okken ist einer der maßgeblichsten und praktischsten Leitfäden zum Testen in der Programmiersprache Python mit dem Framework pytest. Wenn Sie nicht nur Tests schreiben, sondern dies effizient, elegant und mit minimalem Codeaufwand tun möchten, wird dieses Buch zu Ihrem ständigen Nachschlagewerk. Es richtet sich an Entwickler, die bereits mit den Grundlagen von Python vertraut sind, und bietet eine tiefgehende Einführung in die Möglichkeiten von pytest, angefangen bei grundlegenden assert-Anweisungen bis hin zu komplexen Plugins und der Integration in CI/CD.

Worum geht es in dem Buch

Das Buch ist als fortlaufende praktische Anleitung aufgebaut. Der Autor überfrachtet den Leser nicht mit Theorie, sondern kommt sofort zur Sache: Er zeigt, wie man einfache Tests schreibt und die Beispiele dann schrittweise komplexer gestaltet. Die wichtigsten im Buch behandelten Themen sind:

  • Grundlagen von pytest: Installation, Ausführung, Schreiben erster Tests, Verwendung von assert.
  • Fixtures: Erstellung, Gültigkeitsbereich, Parametrisierung von Fixtures, eingebaute Fixtures (tmp_path, capsys, monkeypatch).
  • Parametrisierung von Tests: Der Dekorator @pytest.mark.parametrize, Kombinieren von Parametern, Generieren von Testdaten.
  • Markierungen (Marks): Eingebaute Markierungen (skip, xfail, parametrize), Erstellen eigener Markierungen, Filtern von Tests.
  • Plugins und Erweiterungen: Überblick über beliebte Plugins (pytest-cov, pytest-mock, pytest-django, pytest-flask), Schreiben eigener Plugins.
  • Integration mit anderen Werkzeugen: unittest, doctest, tox, nox, CI-Systeme (GitHub Actions, Jenkins).
  • Testen von Webanwendungen und APIs: Arbeiten mit Flask, Django, FastAPI, Testen von HTTP-Anfragen.
  • Fortgeschrittene Techniken: Verwendung von conftest.py, Überschreiben von Fixtures, dynamische Testgenerierung, Testen von asynchronem Code.

Für wen ist dieses Buch geeignet

Das Buch ist für einen breiten Leserkreis nützlich:

  • Anfängliche Python-Entwickler, die bereits Code schreiben können, aber das Testen von Grund auf erlernen möchten.
  • Erfahrene Programmierer, die unittest oder nose verwenden und auf das modernere und flexiblere pytest umsteigen möchten.
  • Full-Stack- und Backend-Entwickler, die Webanwendungen mit Flask, Django oder FastAPI erstellen.
  • DevOps-Ingenieure, die für die Einrichtung von CI/CD und die Codequalität verantwortlich sind.
  • Teamleiter und technische Manager, die eine Testkultur in ihrem Team einführen möchten.

Was der Leser lernen wird

Nach der Lektüre des Buches werden Sie in der Lage sein:

  • Saubere, prägnante und wartbare Tests mit pytest zu schreiben.
  • Fixtures effektiv zur Vorbereitung und Bereinigung der Testumgebung einzusetzen.
  • Tests zu parametrisieren, um viele Szenarien ohne Code-Duplizierung zu prüfen.
  • Markierungen zum Gruppieren, Überspringen und Erwarten von Fehlern in Tests zu verwenden.
  • pytest mit gängigen Bibliotheken (mock, coverage, selenium) zu integrieren.
  • Den automatischen Teststart in CI-Systemen zu konfigurieren.
  • Eigene Plugins zur Erweiterung der pytest-Funktionen zu schreiben.
  • Webanwendungen, REST-APIs und asynchronen Code zu testen.

Stärken des Buches

  • Praktische Ausrichtung. Jedes Kapitel enthält zahlreiche Codebeispiele, die sofort ausgeführt und modifiziert werden können. Der Autor erklärt nicht nur Konzepte, sondern zeigt, wie man sie in realen Projekten anwendet.
  • Aktualität. Die zweite Ausgabe (2022) deckt die neuesten Versionen von pytest (7.x) ab, neue Funktionen wie die Parametrisierung von Fixtures, verbesserte Unterstützung für Asynchronität sowie moderne CI/CD-Tools.
  • Struktur. Das Buch ist logisch aufgebaut: vom Einfachen zum Komplexen. Es kann sequenziell gelesen oder als Nachschlagewerk verwendet werden, Übergang

Empfehlungen