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:// | ||