Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:m450:learningunits:lu04:xfail [2024/10/02 10:14] msutermodul:m450:learningunits:lu04:xfail [2024/10/29 13:09] (aktuell) msuter
Zeile 29: Zeile 29:
 Dadurch merkt Raphael automatisch, dass die Klasse ''Customer'' ganz oder teilweise umgesetzt ist. Dadurch merkt Raphael automatisch, dass die Klasse ''Customer'' ganz oder teilweise umgesetzt ist.
  
-===== Dekorator =====+===== pytest.xfail ===== 
 + 
 +==== Dekorator ====
 <code python> <code python>
 @pytest.mark.xfail @pytest.mark.xfail
Zeile 44: Zeile 46:
 </code> </code>
  
-===== Innerhalb der Funktion =====+==== Innerhalb der Funktion ====
 Wir können ''pytest.xfail'' auch innerhalb einer Testfunktion aufrufen. Wir können ''pytest.xfail'' auch innerhalb einer Testfunktion aufrufen.
 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('Test kann erst durchgeführt werden, wenn die Attribute der Klasse "Entry" definiert sind')         pytest.xfail('Test kann erst durchgeführt werden, wenn die Attribute der Klasse "Entry" definiert sind')
 </code> </code>
 +
 +===== 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 = '3ex'
 +</code>
 +
 +In diesem Beispiel geben wir einen formal falschen Wert für den Kontostand an.
 +Sofern die Methode einen ''ValueError'' auslöst, gilt der Test als erfüllt.
  
 ---- ----
 {{tag>M450-LU04}} {{tag>M450-LU04}}
 [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter
  • modul/m450/learningunits/lu04/xfail.txt
  • Zuletzt geändert: 2024/10/29 13:09
  • von msuter