Sinon FakeServer keine Anfragen?
Ich folge dem SinonJSFake Server Tutorial und ich führe diesen einfachen Code aus:
var server;
before(function () { server = sinon.fakeServer.create(); });
after(function () { server.restore(); });
it("calls callback with deserialized data", function () {
var callback = sinon.spy();
getTodos(42, callback);
// This is part of the FakeXMLHttpRequest API
server.requests[0].respond(
200,
{ "Content-Type": "application/json" },
JSON.stringify([{ id: 1, text: "Provide examples", done: true }])
);
assert(callback.calledOnce);
});
Ich füge die getTodos-Funktion in dieselbe Datei ein. Hier ist es auch:
function getTodos(listId, callback) {
$.ajax({
url: "/todo/" + listId + "/items",
success: function (data) {
// Node-style CPS: callback(err, data)
callback(null, data);
}
});
}
Ich erhalte jedoch eine FehlermeldungTypeError: Cannot read property 'respond' of undefined
. Es sieht aus wieserver.requests
ist leer - warum ist das so? Wie kann ich sicherstellen, dass die Anfragen angezeigt werden?
AKTUALISIERE: Ich konnte das Problem eingrenzen. Ich habe der getTodos-Funktion einen "error" -Rückruf hinzugefügt und für den Fehler console.log ausgeführt. Es stellt sich heraus, dass ein Syntaxfehler vom jsdom Node-Modul kommt, das versucht, @ zu tuurlObj = new URL(uri, documentBaseURLSerialized(this._ownerDocument));
was dann verursacht$.ajax({
Versagen. Hat jemand eine Idee dazu?