Sinon假服务器不自动响应

Cri*_*tes 3 javascript sinon

嗨我正在使用fetch测试一个集合,当我调用它时,只有在调用server.response之后才能从假服务器中得到答案.我得到了所需的结果.

这是为什么 ?

我的代码

  beforeEach( function() {
    server = sinon.fakeServer.create();
    server.autoRespond = true;
    colhedoraList = new ColhedoraList();
  });

.
.
.
    var spy       = sinon.spy(colhedoraList, 'parse');

    server.respondWith("GET", "getColhedoraInfo",
      [200, {"Content-Type": "application/json"},
      '[{"id":"1","talhaoAtual":1,"posicionamentos":[{"lat":-23.9317401,"lng":-50.2210379,"elevadorLigado":true,"horario":"2012-09-21T11:27:58Z"},{"lat":-23.931544,"lng":-50.2161884,"elevadorLigado":true,"horario":"2012-09-21T11:28:02Z"}]}]']);

    colhedoraList.fetch({add: true});
    server.respond();
    expect(spy).toHaveBeenCalled();
    expect(spygmaps).toHaveBeenCalledTwice();
    expect(colhedoraList.get(1).get('talhaoAtual')).toEqual(1);    <<< ALL EXPECTS FAIL, If I don't call respond().
Run Code Online (Sandbox Code Playgroud)

Pas*_*jac 7

如果您sinon.useFakeTimers在规范中的任何位置使用模拟计时器(),则可能会阻止自动回复器工作.该addRequest方法创建一个超时,在该超时内实际响应请求.默认等待时间为10毫秒.

  • 不,不,我只是通过阅读实际的Sinon来源发现它.您可以在他们的GitHub上提交一个问题,要求他们更新他们的文档. (2认同)