Backbone.js 主干收集获取未在Jasmine中填充+;西农规范

Backbone.js 主干收集获取未在Jasmine中填充+;西农规范,backbone.js,fetch,jasmine,sinon,Backbone.js,Fetch,Jasmine,Sinon,当我运行这个规范输出时,我得到“预期0等于2”。2是我的装置中模型对象的正确长度,因此Sinon的fakeServer使用模拟响应正确响应。我不明白为什么我的集合在获取之后没有对象。任何帮助都将不胜感激 仅供参考:这来自以下Sinon+Jasmine主干教程: 规格: 型号: class window.Todos extends Backbone.Collection model: window.Todo url: "/todos" comparator: (todo) ->

当我运行这个规范输出时,我得到“预期0等于2”。2是我的装置中模型对象的正确长度,因此Sinon的fakeServer使用模拟响应正确响应。我不明白为什么我的集合在获取之后没有对象。任何帮助都将不胜感激

仅供参考:这来自以下Sinon+Jasmine主干教程:

规格:

型号:

class window.Todos extends Backbone.Collection
  model: window.Todo
  url: "/todos"
  comparator: (todo) ->
    todo.get('priority')
  parse: (res) ->
    res.response.todos
编辑:
下面的Buck Doyle帮助我看到没有规范问题。我的Jasmine Headless Webkit配置有一些问题,如果使用Jasmine standalone运行规范,它们就会通过。

理论:在检查结果之前,需要等待“服务器”响应请求。模拟响应是不够的:
fetch
仍然是异步的


尝试一个
等待
或一个更复杂但优雅的
等待
,如

所述。我希望如此,但添加
等待(5000)
(甚至荒谬)也无济于事。谢谢你!嗯,我试着复制它,它对我有效。你能分享更多你的实现吗?谢谢,巴克!!你的JSFIDLE帮了我一点忙。我已经分叉并更新了它。这是我的完整实现,包括从helpers中提取的函数。规格通过了!我能想到的唯一区别是我使用的是Jasmine无头Webkit。这是一个非常好的正确方向的推动。有人链接到@syntax的意思吗?
class window.Todos extends Backbone.Collection
  model: window.Todo
  url: "/todos"
  comparator: (todo) ->
    todo.get('priority')
  parse: (res) ->
    res.response.todos