Pytest-Framework: Einrichten und Ausführen Automatisierter Tests
Installation
Zunächst muss Pytest installiert werden. Dieser Vorgang ist unkompliziert dank des Python-Paketmanagers pip. Öffne die Kommandozeile oder das Terminal und gib folgenden Befehl ein:
pip install pytest
Es empfiehlt sich, dies im virtuellen Umfeld des Projekts durchzuführen.
Syntax-Erklärung
Ein Grund, warum Pytest in der Python-Community so beliebt ist, liegt in der einfachen und leicht verständlichen Syntax. Im Gegensatz zu manchen anderen Test-Frameworks ermöglicht Pytest das Schreiben von Testcode in einer sehr lesbaren Form. Eine kurze Übersicht:
- Testdateien: pytest erkennt Dateien, die mit test_ beginnen oder mit _test.py enden;
- Testfunktionen: Funktionen, die innerhalb dieser Dateien mit test_ beginnen, werden von pytest automatisch als Testfunktionen erkannt;
- Assertions: Verwende das eingebaute
assert-Statement von Python, um zu überprüfen, ob bestimmte Bedingungen erfüllt sind.
Codebeispiele
Das Gelernte lässt sich am besten mit einem einfachen Beispiel anwenden. Angenommen, es gibt eine Funktion namens add, die zwei Zahlen addiert. So könnte ein Test dafür mit Pytest aussehen:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Dieses Codebeispiel zeigt zwei Tests: einen für Zahlen und einen für Zeichenketten. Die assert-Anweisungen prüfen, ob sich die Funktion wie erwartet verhält.
Ausführen von Tests und Interpretation der Ergebnisse
Das Ausführen von Tests mit Pytest ist äußerst einfach. Navigiere in das Verzeichnis, das die Testdatei enthält, und führe folgenden Befehl aus:
pytest
Pytest erkennt und führt automatisch alle Tests im Verzeichnis aus und zeigt einen Bericht an, der angibt, ob jeder Test bestanden oder fehlgeschlagen ist. Das könnte folgendermaßen aussehen:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Jeder Punkt steht für einen bestandenen Test. Pytest liefert für fehlgeschlagene Tests detaillierte Ausgaben, einschließlich der Zeilennummer und des Grundes für das Scheitern, was die Diagnose und Behebung von Problemen erleichtert.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Interpretation der Ergebnisse
- Bestanden (.): Der Test wurde erfolgreich ausgeführt und alle Assertions waren
True; - Fehlgeschlagen (F): Der Test enthält Assertions, die nicht
Truewaren, was auf ein Problem hinweist; - Übersprungen (s): Der Test wurde übersprungen, möglicherweise aufgrund einer konfigurierten Bedingung oder Abhängigkeit.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain more about how to structure larger test suites with Pytest?
What are some common Pytest plugins or features I should know about?
How do I handle setup and teardown for tests in Pytest?
Awesome!
Completion rate improved to 3.13
Pytest-Framework: Einrichten und Ausführen Automatisierter Tests
Swipe um das Menü anzuzeigen
Installation
Zunächst muss Pytest installiert werden. Dieser Vorgang ist unkompliziert dank des Python-Paketmanagers pip. Öffne die Kommandozeile oder das Terminal und gib folgenden Befehl ein:
pip install pytest
Es empfiehlt sich, dies im virtuellen Umfeld des Projekts durchzuführen.
Syntax-Erklärung
Ein Grund, warum Pytest in der Python-Community so beliebt ist, liegt in der einfachen und leicht verständlichen Syntax. Im Gegensatz zu manchen anderen Test-Frameworks ermöglicht Pytest das Schreiben von Testcode in einer sehr lesbaren Form. Eine kurze Übersicht:
- Testdateien: pytest erkennt Dateien, die mit test_ beginnen oder mit _test.py enden;
- Testfunktionen: Funktionen, die innerhalb dieser Dateien mit test_ beginnen, werden von pytest automatisch als Testfunktionen erkannt;
- Assertions: Verwende das eingebaute
assert-Statement von Python, um zu überprüfen, ob bestimmte Bedingungen erfüllt sind.
Codebeispiele
Das Gelernte lässt sich am besten mit einem einfachen Beispiel anwenden. Angenommen, es gibt eine Funktion namens add, die zwei Zahlen addiert. So könnte ein Test dafür mit Pytest aussehen:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Dieses Codebeispiel zeigt zwei Tests: einen für Zahlen und einen für Zeichenketten. Die assert-Anweisungen prüfen, ob sich die Funktion wie erwartet verhält.
Ausführen von Tests und Interpretation der Ergebnisse
Das Ausführen von Tests mit Pytest ist äußerst einfach. Navigiere in das Verzeichnis, das die Testdatei enthält, und führe folgenden Befehl aus:
pytest
Pytest erkennt und führt automatisch alle Tests im Verzeichnis aus und zeigt einen Bericht an, der angibt, ob jeder Test bestanden oder fehlgeschlagen ist. Das könnte folgendermaßen aussehen:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Jeder Punkt steht für einen bestandenen Test. Pytest liefert für fehlgeschlagene Tests detaillierte Ausgaben, einschließlich der Zeilennummer und des Grundes für das Scheitern, was die Diagnose und Behebung von Problemen erleichtert.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Interpretation der Ergebnisse
- Bestanden (.): Der Test wurde erfolgreich ausgeführt und alle Assertions waren
True; - Fehlgeschlagen (F): Der Test enthält Assertions, die nicht
Truewaren, was auf ein Problem hinweist; - Übersprungen (s): Der Test wurde übersprungen, möglicherweise aufgrund einer konfigurierten Bedingung oder Abhängigkeit.
Danke für Ihr Feedback!