假设我们有一个简单的 Backbone 视图,如下所示:
class MyView extends Backbone.View
events:
'click .save': 'onSave'
onSave: (event) ->
event.preventDefault()
# do something interesting
我想测试当我在课堂上使用我的元素event.preventDefault()
时调用它。click
.save
我可以测试我的回调函数的实现,就像这样(Mocha + Sinon.js):
it 'prevents default submission', ->
myView.onSave()
myView.args[0][0].preventDefault.called.should.be.true
我认为它不起作用,但这只是为了得到这个想法;编写正确的代码,这是可行的。我的问题是这样我正在测试实现而不是功能。
所以,我的问题真的是:我如何验证,假设在我的元素上触发一个click
事件?.save
it 'prevents default submission', ->
myView.$('.save').click()
# assertion here ??
一如既往地感谢:)