Spionage auf Konsole.Fehler() mit Jasmin
Eigentlich bin ich mit JavaScript sowie Jasmin. So könnte es etwas wirklich offensichtlich, behebt mein problem aber ich kann es nicht sehen.
Möchte ich überprüfen, ob (eine bereits vorhandene) JavaScript-Anwendung, die Anrufe console.error()
beim laden. Sehe ich nicht wirklich eine Art und Weise, wie diese zu realisieren mit Jasmin. Ich habe den JavaScript-Datei sowie die spec-Datei in der SpecRunner.html
.
Aber ich nehme es, dass ich irgendwie brauchen, um "instanziieren" der Anwendung, um zu testen, ob es wirft keine Fehler auf der Konsole, richtig?
Oder sollte ich auch die SpecRunner.html
- code nur für diesen Zweck in den HTML-code der app?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Spion auf
console.error
wie diese:.and.clickThrough();
oderand.callFake(function(){ ... });
Umsetzung eher als verlassen der Funktion nackt, mit Jasmin-2.x. Hoffe, das hilft. C§toHaveBeenCalledWith()
zu behaupten, dass eine bestimmte Warnmeldung ausgegeben, umconsole.warn
. Ich sehe die richtige Warnung in meinem Karma-Konsole, aber der test fehlschlägt mit:Expected spy warn to have been called with [ '*** desired error msg ***' ] but it was never called.
Mit nurexpect(console.warn).toHaveBeenCalled()
auch nicht mit:Expected spy warn to have been called.
.Können Sie überschreiben die standard-Konsole.error-Funktion wie diese:
Diese Lösung funktioniert mit Jasmin oder sonst etwas. Setzen Sie einfach den code oben, bevor die anderen codes und alle rufen nach
console.error()
nennen wird, die überschriebene Funktion.verwenden toThow und toThrowError http://jasmine.github.io/edge/introduction#section-Spies:_
and.throwError