Beispiele und Anpassungstricks¶
Hier ist eine (wachsende) Liste von Beispielen. Kontaktieren Sie uns, wenn Sie weitere Beispiele benötigen oder Fragen haben. Schauen Sie sich auch die umfassende Dokumentation an, die viele Beispiel-Snippets enthält. Außerdem finden Sie pytest auf stackoverflow.com oft mit beispielhaften Antworten.
Für grundlegende Beispiele siehe
Erste Schritte für grundlegende Einführungspreispiele
So schreiben und melden Sie Assertionen in Tests für grundlegende Assertionsbeispiele
Fixtures für grundlegende Fixture/Setup-Beispiele
So parametrisieren Sie Fixtures und Testfunktionen für grundlegende Parametrisierung von Testfunktionen
So verwenden Sie unittest-basierte Tests mit pytest für grundlegende Unittest-Integration
Die folgenden Beispiele zielen auf verschiedene Anwendungsfälle ab, denen Sie begegnen könnten.
- Demo von Python-Fehlerberichten mit pytest
- Grundlegende Muster und Beispiele
- Wie man Standardwerte für Kommandozeilenoptionen ändert
- Übergabe unterschiedlicher Werte an eine Testfunktion, abhängig von Kommandozeilenoptionen
- Dynamisches Hinzufügen von Kommandozeilenoptionen
- Steuerung des Überspringens von Tests gemäß Kommandozeilenoption
- Schreiben gut integrierter Assertionshelfer
- Erkennen, ob aus einem pytest-Lauf heraus ausgeführt wird
- Hinzufügen von Informationen zum Kopf der Testberichte
- Profilierung der Testdauer
- Inkrementelles Testen - Testschritte
- Paket-/Verzeichnisebene-Fixtures (Setups)
- Nachbearbeitung von Testergebnissen / Fehlern
- Bereitstellen von Testergebnisinformationen in Fixtures
- Umgebungsvariable
PYTEST_CURRENT_TEST - Pytest einfrieren
- Tests parametrisieren
- Erzeugung von Parameterkombinationen, abhängig von der Kommandozeile
- Verschiedene Optionen für Test-IDs
- Ein schneller Port von "testscenarios"
- Verzögerte Einrichtung von parametrisierten Ressourcen
- Indirekte Parametrisierung
- Indirekt auf bestimmte Argumente anwenden
- Parametrisierung von Testmethoden durch klassenspezifische Konfiguration
- Parametrisierung mit mehreren Fixtures
- Parametrisierung von optionalen Implementierungen/Imports
- Festlegen von Marks oder Test-IDs für einzelne parametrisierte Tests
- Parametrisierung von bedingtem Auslösen
- Arbeiten mit benutzerdefinierten Markern
- Markieren von Testfunktionen und Auswählen für einen Lauf
- Tests basierend auf ihrer Node-ID auswählen
- Verwendung von
-k exprzum Auswählen von Tests basierend auf ihrem Namen - Registrieren von Markern
- Klassen oder Module als Ganzes markieren
- Einzelne Tests bei der Verwendung von parametrize markieren
- Benutzerdefinierter Marker und Kommandozeilenoption zur Steuerung von Testläufen
- Übergabe eines Aufrufbaren an benutzerdefinierte Marker
- Lesen von Markern, die von mehreren Stellen gesetzt wurden
- Plattformspezifische Tests mit pytest markieren
- Automatisch Marker basierend auf Testnamen hinzufügen
- Eine Session-Fixture, die alle gesammelten Tests betrachten kann
- Ändern der Standard-Testfindung (Python)
- Pfade während der Testsammlung ignorieren
- Tests während der Testsammlung abwählen
- Beibehalten von doppelten Pfaden, die von der Kommandozeile angegeben wurden
- Ändern der Verzeichnissuche
- Namenskonventionen ändern
- Kommandozeilenargumente als Python-Pakete interpretieren
- Herausfinden, was gesammelt wird
- Anpassen der Testsammlung
- Arbeiten mit Nicht-Python-Tests
- Verwendung eines benutzerdefinierten Verzeichnissammlers