pytest: hilft Ihnen, bessere Programme zu schreiben¶
Das pytest Framework erleichtert das Schreiben kleiner, lesbarer Tests und kann für komplexes funktionales Testen von Anwendungen und Bibliotheken skaliert werden.
PyPI-Paketname: pytest
Ein schnelles Beispiel¶
# content of test_sample.py
def inc(x):
return x + 1
def test_answer():
assert inc(3) == 5
Um es auszuführen
$ pytest
=========================== test session starts ============================
platform linux -- Python 3.x.y, pytest-9.x.y, pluggy-1.x.y
rootdir: /home/sweet/project
collected 1 item
test_sample.py F [100%]
================================= FAILURES =================================
_______________________________ test_answer ________________________________
def test_answer():
> assert inc(3) == 5
E assert 4 == 5
E + where 4 = inc(3)
test_sample.py:6: AssertionError
========================= short test summary info ==========================
FAILED test_sample.py::test_answer - assert 4 == 5
============================ 1 failed in 0.12s =============================
Aufgrund der detaillierten Assertions-Introspektion von pytest werden nur einfache assert-Anweisungen verwendet. Siehe Erste Schritte für eine grundlegende Einführung in die Verwendung von pytest.
Funktionen¶
Detaillierte Informationen zu fehlgeschlagenen assert-Anweisungen (keine Notwendigkeit, sich
self.assert*Namen zu merken)Automatische Erkennung von Testmodulen und Funktionen
Modulare Fixtures zum Verwalten kleiner oder parametrisierter langlebiger Testressourcen
Kann unittest (einschließlich Trial) Test-Suiten sofort ausführen
Python 3.10+ oder PyPy 3
Umfangreiche Plugin-Architektur mit über 1300+ externen Plugins und einer florierenden Community
Dokumentation¶
Erste Schritte - installieren Sie pytest und lernen Sie seine Grundlagen in nur zwanzig Minuten
Anleitungen - Schritt-für-Schritt-Anleitungen, die eine breite Palette von Anwendungsfällen und Bedürfnissen abdecken
Referenzhandbücher - enthält die vollständige pytest API-Referenz, Plugin-Listen und mehr
Erklärung - Hintergrundinformationen, Diskussion wichtiger Themen, Antworten auf höherrangige Fragen
Fehler/Anfragen¶
Bitte verwenden Sie den GitHub Issue Tracker, um Fehler zu melden oder Funktionen anzufordern.
Unterstützen Sie pytest¶
Open Collective ist eine Online-Finanzierungsplattform für offene und transparente Gemeinschaften. Sie bietet Werkzeuge, um Geld zu sammeln und Ihre Finanzen in voller Transparenz zu teilen.
Es ist die Plattform der Wahl für Einzelpersonen und Unternehmen, die einmalige oder monatliche Spenden direkt an das Projekt leisten möchten.
Weitere Details finden Sie im pytest Collective.
pytest für Unternehmen¶
Verfügbar als Teil des Tidelift-Abonnements.
Die Maintainer von pytest und Tausenden anderer Pakete arbeiten mit Tidelift zusammen, um kommerziellen Support und Wartung für die Open-Source-Abhängigkeiten zu liefern, die Sie zum Erstellen Ihrer Anwendungen verwenden. Sparen Sie Zeit, reduzieren Sie Risiken und verbessern Sie die Code-Gesundheit, während Sie die Maintainer genau der von Ihnen verwendeten Abhängigkeiten bezahlen.
Sicherheit¶
pytest wurde nie mit einer Sicherheitslücke in Verbindung gebracht, aber in jedem Fall verwenden Sie bitte den Tidelift-Sicherheitskontakt, um eine Sicherheitslücke zu melden. Tidelift koordiniert die Behebung und Offenlegung.