BackboneJS测试集合提取

时间:2015-03-03 18:44:32

标签: backbone.js jasmine karma-runner karma-jasmine sinon

我试图测试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");
      }
    });
  });
});

1 个答案:

答案 0 :(得分:2)

事实证明,我没有仔细阅读文档。使用虚假服务器,您需要告诉它做出响应。在致电posts.fetch()之后我添加了以下内容:

server.respond();

现在效果很好。