【发布时间】:2014-04-24 10:25:08
【问题描述】:
我正在尝试在 jasmine(1.3 版)中编写一些高级测试,其中我在 $.getJSON() 方法上设置了一个间谍。这是在此处看到的beforeEach 块中设置的:
describe 'the Controller', ->
beforeEach ->
Fixtures.createTestData()
jqXHR = Fixtures.jqXHR
section = new section({el:appDom})
response = Fixtures.createSectionsSearchResponse()
spyOn($, 'getJSON').andCallFake( ->
jqXHR.resolve(response)
)
然后我像往常一样浏览搜索查询(效果很好)。
在我后来的一个测试中,我有第二个 API 被 ping 通。我想更改正在发送的响应,但似乎无法正常工作。 This Blog 似乎暗示我可以用不同的andCallFake() 重用间谍,但它似乎不起作用。我得到的是原始响应对象而不是我的重写方法
$.getJSON.andCallFake( ->
jqXHR.resolve({"count":4})
)
有什么想法可以重用或销毁原来的 spy on 方法吗?
【问题讨论】:
标签: coffeescript jasmine