Ich arbeite an einer App, die stark von JavaScript Gebrauch macht. Ich muss diesen Code testen. Um das zu erreichen, verlasse ich mich auf Jasmine.
Ein Teil meines JavaScript-Codes löst JavaScript-Fehlerobjekte aus. Diese Objekte weisen der Eigenschaft message und name des Error-Objekts Werte zu. Ich weise der name -Eigenschaft einen Ausnahmetyp zu. Zum Beispiel ist der Name manchmal auf "OutOfRangeException", manchmal auf "ArgumentException" usw. gesetzt.
Wie verwende ich die Funktion toThrowError im Jasmine-Framework, um zu testen, ob ein geworfener Fehler einen bestimmten Namen hat? Derzeit sieht mein JavaScript wie folgt aus:
%Vor%Wie kann ich einen Jasmine-Test schreiben, der nach einem ArgumentException-Fehler oder einem ArgumentOutOfRangeException-Fehler sucht?
Danke!
Das Überprüfen der Ausnahme für eine Funktion mit Parameter wird in Jasmine nicht unterstützt. Sie können jedoch die folgende Problemumgehung verwenden, um diese Einschränkung zu umgehen und Ihre Funktionen zu testen.
%Vor% toThrowError
Matcher benötigt 1 oder 2 Parameter
Zu überprüfendes Beispiel basierend auf dem Ausnahmetyp:
%Vor%Siehe Link für verschiedene Arten von Ausnahmen.
>Benutzerdefinierte Fehlermeldung
Das unten erwähnte Snippet enthält ein Beispiel für die Verwendung der benutzerdefinierten Fehlermeldungen.
%Vor%Tags und Links unit-testing jasmine