Ich verwende moment.js für Datum / Uhrzeit in meiner Anwendung, aber es scheint, dass es nicht gut mit Jasmines spöttischen Fähigkeiten spielt. Ich habe unten eine Testsuite zusammengestellt, die mein Problem zeigt:
jasmine.clock().mockDate
scheint momentan nicht zu funktionieren, während es für Date
funktioniert.
Warum funktioniert Date
wie erwartet und moment
nicht? Ist nicht moment
mit Date
unter der Haube?
Was ist der richtige Weg, um moment
mit Jasmine zu verspotten?
jasmine.clock().mockDate
erwartet Date
als Eingabe. Date
und moment
sind nicht vollständig kompatibel. Wenn Sie das zu spottende Datum in der Spezifikation angeben, können Sie stattdessen einfach Date
verwenden.
Wenn Ihr Code einen Moment generiert, den Sie verspotten möchten, oder Sie lieber die Moment-API verwenden möchten, werfen Sie einen Blick auf moment.toDate()
. Diese Methode gibt das Objekt Date
zurück, das einen Moment unterstützt.
Tags und Links javascript jasmine momentjs