无法使用sinon + jasmine填充Backbone集合

时间:2013-12-23 10:56:38

标签: backbone.js jasmine sinon

我遇到的问题是here

该问题的作者提到他能够通过在无头webkit上使用独立版本的jasmine来解决它。 在我的测试中,我只使用独立版本的茉莉花,但仍然遇到同样的问题。 这是我的代码:

describe 'Shared Collections Specs', ->
  describe 'Channel Collection', ->
    describe 'When fetching channels', ->
      responseFixture = null
      channelCollection = null
      server = null

      beforeEach ->
        channelCollection = new ChannelCollection()
        responseFixture = [{id: 3, name: 'foo'}, {id: 1, name: 'bar'}, {id: 2, name: 'baz'}]
        server = sinon.fakeServer.create()
        server.respondWith('GET', 'enspoint/channels', [
          200, {'Content-Type':'application/json'}, JSON.stringify responseFixture
        ])

      afterEach ->
        server.restore()

      it 'should populate the collection', ->
        channelCollection.fetch()
        server.respond()
        expect(channelCollection.length).toEqual responseFixture.length

该集合始终为空,预期长度为3,但Expected 0 to equal 3.失败 我尝试使用jasmine waitsruns因为我认为在这个过程中可能会有异步,但我得到了相同的结果。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

只是一个无辜的观察,但在XHR夹具中的URL“端点/通道”中可能存在拼写错误。例如,您的意思是“端点/渠道”吗?