Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m450:learningunits:lu03:pytest [2024/11/19 09:41] – [Unit Tests] msuter | modul:m450:learningunits:lu03:pytest [2024/11/19 10:05] (aktuell) – [Resultate mit Fliesskommazahlen] msuter | ||
---|---|---|---|
Zeile 89: | Zeile 89: | ||
</ | </ | ||
+ | ===== Resultate mit Fliesskommazahlen ===== | ||
+ | Bei Berechnungen mit Fliesskommazahlen gibt es immer kleine Abweichungen bei den Resultaten. | ||
+ | Daher würde der Befehl '' | ||
+ | Um diesem Problem zu begegnen, gibt es die Funktion [[https:// | ||
+ | Diese Funktion vergleicht die Werte unter Berücksichtigung einer geringen Toleranz. | ||
+ | Beim Aufruf der Funktion muss zwingend das erwartete Resultat mitgegeben werden. | ||
+ | Zusätzlich kennt die Funktion 3 optionale Argumente: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ==== Beispiel ==== | ||
+ | In diesem Beispiel testen wir eine Funktion, welche die Mehrwertsteuer (engl. **V**alue **A**dded **T**ax) berechnet. | ||
+ | Wir haben ein Total von CHF 1575.50 was gemäss Taschenrechner einer Steuer von CHF 127.6155 entspricht. | ||
+ | |||
+ | <code python> | ||
+ | import pytest | ||
+ | |||
+ | def calculate_vat(amount): | ||
+ | | ||
+ | |||
+ | def test_calculate_vat(): | ||
+ | total = 1575.50 | ||
+ | vat = calculate_vat(total) | ||
+ | pytest.approx(127.6155) == vat | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Da ich hier keine Angaben für relative und absolute Abweichung gemacht habe, müsste das tatsächliche Ergebnis bis auf die zwölfte Nachkommastelle übereinstimmen. | ||
===== Tutorials ===== | ===== Tutorials ===== | ||
* [[https:// | * [[https:// |