SINON假服务器未自动响应

本教程将介绍SINON假服务器未自动响应的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

SINON假服务器未自动响应 教程 第1张

问题描述

您好,我正在使用FETCH测试一个集合,当我调用它时,只有在调用服务器之后才会有来自伪服务器的响应。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().

推荐答案

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

好了关于SINON假服务器未自动响应的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。