Ich hatte keine Probleme damit, die Erfolgsbedingung zu verspotten, aber ich kann mir nicht vorstellen, wie man die Fehler / Timeout-Bedingungen verspottet, wenn man Sinon und Qunit zum Testen und zur Ajax-Funktion verwendet:
Mein Setup ist das:
%Vor%und mein Erfolgsfalltest, der glücklich läuft und die empfangenen Daten an die Erfolgsmethode empfängt / weiterleitet, ist dies:
%Vor%Allerdings kann ich nicht herausfinden, was ich stattdessen tun sollte:
%Vor%, damit mein Ajax-Call-Handler eine Fehler- oder Timeout-Methode "hört"? Das Einzige, was ich mir vorstellen konnte, war folgendes:
%Vor%Aber es funktioniert nicht.
Was mache ich falsch oder was habe ich falsch verstanden? Alle helfen sehr geschätzt:)
So etwas zu tun
%Vor%löst den "Fehler" -Rückruf in jQuery-AJAX-Anfragen aus.
Wie für die Timouts können Sie sinons gefälschte Uhr wie folgt verwenden:
%Vor%Ich hatte keine Probleme damit, die Erfolgsbedingung zu verspotten, aber ich kann mir nicht vorstellen, wie man die Fehler / Timeout-Bedingungen verspottet, wenn man Sinon und Qunit zum Testen und zur Ajax-Funktion verwendet:
Mein Setup ist das:
%Vor%und mein Erfolgsfalltest, der glücklich läuft und die empfangenen Daten an die Erfolgsmethode empfängt / weiterleitet, ist dies:
%Vor%Allerdings kann ich nicht herausfinden, was ich stattdessen tun sollte:
%Vor%, damit mein Ajax-Call-Handler eine Fehler- oder Timeout-Methode "hört"? Das Einzige, was ich mir vorstellen konnte, war folgendes:
%Vor%Aber es funktioniert nicht.
Was mache ich falsch oder was habe ich falsch verstanden? Alle helfen sehr geschätzt:)
Für die Zeitüberschreitung könnten sinons falsche Timer helfen. Mit ihnen müssten Sie das Timeout nicht auf 1 ms setzen. Was die Misserfolge angeht, sieht Ihr Ansatz für mich korrekt aus. Können Sie uns mehr Code geben, insbesondere den Fehlerbehandler?
Setzen Sie eine Zeitüberschreitung für Ihren $ .ajax () Aufruf und verwenden Sie Sinon Faktimer , um die Uhr vor dem Antworten zu bewegen.
Setzen Sie eine Zeitüberschreitung für Ihren $ .ajax () Aufruf und verwenden Sie Sinon Faktimer , um die Uhr vor dem Antworten zu bewegen.
Tags und Links javascript jquery unit-testing qunit sinon