我试图测试Backbone集合的提取。我使用Sinon的虚假服务器来设置虚假的REST端点。问题是似乎请求没有发送。
我将Jasmine与Karma一起使用并通过PhantomJS运行。
问题是请求显然没有被发送。没有任何错误,但没有记录到控制台。
以下是代码:
describe("The Posts collection", function() {
var posts;
var server;
beforeEach(function() {
server = sinon.fakeServer.create();
posts = new PostCollection();
});
afterEach(function() {
server.restore();
});
it("should fetch the posts from the api", function() {
server.respondWith("GET", "/posts",
[200, { "Content-Type": "application/json" },
'{ "stuff": "is", "awesome": "in here" }']);
posts.fetch({
success: function(model, response, options) {
console.log("REQUEST SENT");
}
});
});
});
答案 0 :(得分:2)
事实证明,我没有仔细阅读文档。使用虚假服务器,您需要告诉它做出响应。在致电posts.fetch()
之后我添加了以下内容:
server.respond();
现在效果很好。