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.