Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
modul:m450:learningunits:lu04:xfail [2024/10/02 10:14] – msuter | modul:m450:learningunits:lu04:xfail [2024/10/29 13:09] (aktuell) – msuter | ||
---|---|---|---|
Zeile 29: | Zeile 29: | ||
Dadurch merkt Raphael automatisch, | Dadurch merkt Raphael automatisch, | ||
- | ===== Dekorator | + | ===== pytest.xfail |
+ | |||
+ | ==== Dekorator | ||
<code python> | <code python> | ||
@pytest.mark.xfail | @pytest.mark.xfail | ||
Zeile 44: | Zeile 46: | ||
</ | </ | ||
- | ===== Innerhalb der Funktion | + | ==== Innerhalb der Funktion ==== |
Wir können '' | Wir können '' | ||
Im Gegensatz zum Dekorator wird dabei jedoch die Ausführung der Funktion abgebrochen und keine weiteren Befehle ausgeführt. | Im Gegensatz zum Dekorator wird dabei jedoch die Ausführung der Funktion abgebrochen und keine weiteren Befehle ausgeführt. | ||
Zeile 54: | Zeile 56: | ||
pytest.xfail(' | pytest.xfail(' | ||
</ | </ | ||
+ | |||
+ | ===== Exception erwartet ===== | ||
+ | Beim Testen müssen wir immer auch die korrekte Verarbeitung von Ausnahmefällen prüfen. | ||
+ | Daher schreiben wir Unittests, die bewusst eine Exception im Programm auslösen sollen. | ||
+ | |||
+ | <code python> | ||
+ | def test_illegal_value(): | ||
+ | with pytest.raises(ValueError): | ||
+ | account.balance = ' | ||
+ | </ | ||
+ | |||
+ | In diesem Beispiel geben wir einen formal falschen Wert für den Kontostand an. | ||
+ | Sofern die Methode einen '' | ||
---- | ---- | ||
{{tag> | {{tag> | ||
[[https:// | [[https:// |