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.

Mehr erfahren.

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.