pytest: hilft Ihnen, bessere Programme zu schreiben

Das pytest-Framework erleichtert das Schreiben kleiner, lesbarer Tests und kann skaliert werden, um komplexes funktionales Testen für Anwendungen und Bibliotheken zu unterstützen.

PyPI-Paketname: pytest

Ein kurzes 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 fehlerhaften assert-Anweisungen (kein Auswendiglernen von self.assert*-Namen erforderlich)

  • Automatische Erkennung von Testmodulen und -funktionen

  • Modulare Fixtures zur Verwaltung kleiner oder parametrisierter langlebiger Testressourcen

  • Kann unittest (einschließlich Trial) Test-Suiten direkt ausführen

  • Python 3.10+ oder PyPy 3

  • Umfangreiche Plugin-Architektur mit über 1300+ externen Plugins und einer florierenden Community

Dokumentation

  • Erste Schritte - pytest installieren und die Grundlagen in nur zwanzig Minuten erfassen

  • Anleitungen - Schritt-für-Schritt-Anleitungen, die eine Vielzahl von Anwendungsfällen und Bedürfnissen abdecken

  • Referenzhandbücher - Enthält die vollständige pytest API-Referenz, Listen von Plugins und mehr

  • Erklärung - Hintergrundinformationen, Diskussion wichtiger Themen, Antworten auf übergeordnete 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 Communities. Sie bietet Tools, 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 Tausende anderer Pakete arbeiten mit Tidelift zusammen, um kommerziellen Support und Wartung für die Open-Source-Abhängigkeiten zu bieten, die Sie zum Erstellen Ihrer Anwendungen verwenden. Sparen Sie Zeit, reduzieren Sie Risiken und verbessern Sie die Code-Gesundheit, während Sie die Maintainer der von Ihnen verwendeten Abhängigkeiten bezahlen.

Mehr erfahren.

Sicherheit

pytest war nie mit einer Sicherheitslücke verbunden, aber in jedem Fall melden Sie eine Sicherheitslücke bitte über den Tidelift-Sicherheitskontakt. Tidelift koordiniert die Behebung und Offenlegung.