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