Sinon FakeServer нет запросов?
Я следую за SinonJSПоддельный сервер учебник и я запускаю этот простой код:
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);
});
Я включаю функцию getTodos в тот же файл. Вот и это:
function getTodos(listId, callback) {
$.ajax({
url: "/todo/" + listId + "/items",
success: function (data) {
// Node-style CPS: callback(err, data)
callback(null, data);
}
});
}
Однако я получаю сообщение об ошибкеTypeError: Cannot read property 'respond' of undefined
, Это выглядит какserver.requests
пусто - почему это? Как я могу убедиться, что запросы отображаются?
ОБНОВИТЬЯ смог сузить вопрос. Я добавил обратный вызов «error» в функцию getTodos и сделал console.log для ошибки. Оказывается, что синтаксическая ошибка приходит от модуля узла jsdom, пытающегося сделатьurlObj = new URL(uri, documentBaseURLSerialized(this._ownerDocument));
который затем вызывает$.ajax({
терпеть неудачу. У кого-нибудь есть идеи по этому поводу?