我正在尝试测试当我的模型触发事件时是否调用视图方法。但这是行不通的——我已经不知道为什么会这样了。这是不起作用的代码:
看法:
class View extends Backbone.View
initialize: ->
@.listenTo @model, 'request', @disableForm, @
disableForm: ->
console.log 'disableForm'
茉莉花测试:
describe "AJAX events", ->
it "when starting an AJAX request, disable the form", ->
model = new Backbone.Model()
view = new Backbone.View( { model: model })
view.render()
spyOn(view, 'disableForm')
view.delegateEvents()
model.trigger 'request'
expect(view.disableForm).toHaveBeenCalled()
此代码在浏览器中运行良好。
另外——当我运行测试时,console.log 确实打印了“disableForm”——所以模型事件触发了对 disableForm 的调用,但是我的间谍没有接受这个(我的期望失败了)。我曾尝试将其放入 waitsFor 方法中,但他也没有任何作用。
有什么想法我哪里出错了吗?