我想要实现查看测试的实施的CoffeeScript无处不Backbone.js的“待办事项”例如事件(见github.com/rsim/backbone_coffeescript_demo。)测试Backbone.js的查看与茉莉
我的茉莉花上述演示工作的测试非常好,除了视图事件。我期望我被困在以下一个或两个方面i)我不理解视图代码中的事件绑定,ii)我不明白如何正确设置视图代码事件的Jasmine测试。
这里是“编辑”事件的例子...
class TodoApp.TodoView extends Backbone.View
tagName: "li"
template: TodoApp.template '#item-template'
events:
"dblclick div.todo-content" : "edit"
...
initialize: ->
_.bindAll this, 'render', 'close'
@model.bind 'change', @render
@model.bind 'destroy', => @remove()
render: ->
$(@el).html @template @model.toJSON()
@setContent()
this
edit: ->
$(@el).addClass "editing"
@input.focus()
...
......现在,这里的重点是否一个测试后双击被获得:
describe "edit state", ->
li = null
beforeEach ->
setFixtures('<ul id="todo-list"></ul>')
model = new Backbone.Model id: 1, content: todoValue, done: false
view = new TodoApp.TodoView model: model, template: readFixtures("_item_template.html")
$("ul#todo-list").append(view.render().el)
li = $('ul#todo-list li:first')
target = li.find('div.todo-content')
expect(target).toExist()
target.trigger('dblclick') # here's the event!
it "input takes focus", ->
expect(li.find('.todo-input').is(':focus')).toBe(true)
上的期望我也没有)间谍,也没有ii)重点得到满足。
测试backbone.js事件代码是否有特殊性,我应该在Jasmine中知道这些代码?
我遇到了同样的问题。你有没有找到解决方案? –
@Michal - 不,我没有。 – Lille
也有类似的问题,仍然没有想法? –