Wie testen Sie, ob eine Python-Funktion eine Ausnahme auslöst?
Sie können die pytest.raises
-Funktion verwenden, um zu testen, dass eine Python-Funktion eine Ausnahme auslöst. Hier ist ein Beispiel-Code-Schnipsel:
import pytest
def test_example():
def some_function():
raise ValueError("This is an example exception.")
with pytest.raises(ValueError):
some_function()
In dem obigen Beispiel wird erwartet, dass die some_function
eine ValueError
Ausnahme auslöst und die pytest.raises
Funktion wird verwendet, um sicherzustellen, dass diese Ausnahme tatsächlich beim Aufruf der some_function
ausgelöst wird. Wenn die some_function
keine ValueError
auslöst, wird der Test fehlschlagen.
Zusätzlich können Sie den assert-Befehl mit dem Kontextmanager verwenden, um die Ausnahme zu überprüfen:
def test_example():
def some_function():
raise ValueError("This is an example exception.")
try:
some_function()
except ValueError as e:
assert str(e)=="This is an example exception."
Sie können auch die Ausnahme-Nachricht mit dieser assert-Anweisung testen.