Seminare
Seminare

pytest: Python-Testautomatisierung

Webinar - GFU Cyrus AG

Die Teilnehmenden erlernen den Aufbau einer strukturierten Testumgebung mit pytest. Ziel ist es, wiederverwendbare Fixtures zu erstellen, Edge-Cases durch Parametrisierung effizient abzudecken und Plugins gezielt einzusetzen, um die Testgeschwindigkeit und die Aussagekraft von Testberichten signifikant zu steigern.
Termin Ort Preis*
31.08.2026- 01.09.2026 online 1.713,60 €
31.08.2026- 01.09.2026 Köln 1.713,60 €
*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:
  • 1. Grundlagen und Test Discovery
    • Konventionen: Wie pytest Tests findet (Dateinamen, Klassen, Funktionen).
    • Assertions: Warum einfache assert-Statements in pytest mächtiger sind als self.assert....
    • CLI-Tricks: Gezieltes Ausführen von Tests mit -k, -m und -x.

  • 2. Das Fixture-System: Setup und Teardown
    • Dependency Injection: Ressourcen (DB-Verbindungen, API-Clients) sauber bereitstellen.
    • Scopes: Lebensdauer von Fixtures steuern (function, class, module, session).
    • Autouse & Yield: Automatisches Setup und sauberes Aufräumen nach dem Test.

  • 3. Parametrisierung: DRY (Don't Repeat Yourself)
    • @pytest.mark.parametrize: Den gleichen Test mit verschiedenen Datensätzen ausführen.
    • Indirekte Parametrisierung: Fixtures dynamisch über Test-Parameter steuern.
    • Kombinatorik: Massives Testen von Grenzwerten mit minimalem Code-Overhead.

  • 4. Marks und Metadata
    • Built-in Marks: skip, xfail (erwartetes Scheitern) und skipif.
    • Custom Marks: Logische Gruppierung von Tests (z.B. @pytest.mark.slow).
    • Filtern: Ausführen von spezifischen Test-Suites basierend auf Markierungen.

  • 5. Konfiguration und die conftest.py
    • Zentralisierung: Fixtures und Hooks projektweit zur Verfügung stellen.
    • pytest.ini & pyproject.toml: Standard-Verhalten und CLI-Optionen festlegen.
    • Hooks: Den Test-Lifecycle erweitern (z.B. für benutzerdefinierte Reports).

  • 6. Mocking und Monkeypatching
    • pytest-mock: Das mocker-Fixture zur Isolation von Systemkomponenten.
    • Monkeypatch: Temporäres Ändern von Umgebungsvariablen oder Modul-Attributen.
    • Abhängigkeiten: Externe APIs und Datenbanken für deterministische Tests simulieren.

  • 7. Testing in modernen Umgebungen
    • pytest-asyncio: Asynchrone Funktionen (async/await) korrekt testen.
    • Integrationstests: Zusammenspiel von Microservices und Datenbanken validieren.
    • API-Testing: Kombination von pytest mit requests oder httpx.

  • 8. Performance und Plugins
    • pytest-xdist: Parallele Testausführung zur massiven Zeitersparnis.
    • pytest-cov: Messung und Visualisierung der Testabdeckung (Coverage).
    • Weitere Plugins: pytest-html für grafische Reports, pytest-ordering uvm.

  • 9. Praxis-Workshop: The Bulletproof App
    • Workshop: Refactoring einer ungetesteten Applikation hin zu 90% Coverage.
    • Refactoring-Task: Komplexe unittest-Strukturen in elegantes pytest transformieren.
    • CI-Challenge: Integration der Test-Suite in eine GitHub Action mit Coverage-Report.
    • Final Roadmap: Aufbau eines Test-Standards für zukünftige Projekte.




Dauer/zeitlicher Ablauf:
2 Tage
Zielgruppe:
  • Python-Entwickler: Zur Verbesserung der Code-Qualität durch Unit- und Integration-Tests.
  • QA-Engineers & Tester: Zur Automatisierung komplexer Test-Szenarien.
  • DevOps Engineers: Zur Integration von Test-Metriken in CI-Pipelines.
  • Data Scientists: Zur Absicherung von Daten-Pipelines und Analyse-Logik.



Seminarkennung:
R102495
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha