2
在生产环境中运行代码时,我不必与Ember.js runloop进行交互,但在我的测试中,有时我必须调用Enber.run.end()来进行测试通过。这可能会造成其他测试失败的影响。测试Ember.js和runloop
例如,这里是我的spec_helper:
beforeEach ->
$('#jasmine_content').append('<div id="fieldset"></div>')
Ember.test = true
Lead.run()
$ ->
$('body').append($('<div id="jasmine_content"></div>'))
我设置Ember.test标志设置为true在上面的代码,我不能完全肯定这是什么一样。
Lead.run()创建灰烬应用:
window.Lead = Ember.Application.create
Controllers: {Leads: {}}
Models: {}
Views: {}
run: ->
@initEvents()
@.set('search', Lead.Controllers.UrlSearch.create())
# etc.
在一些测试中,我发现自己不得不调用ember.run.end(),以确保项目将在DOM等
describe 'Controllers', ->
describe 'UrlSearch', ->
it 'should append view', ->
Ember.run.end()
expect($('#goButton').length).toEqual(1)
从单个测试结束runloop感觉不对。
每当我更新我spec_helper这样:
beforeEach ->
$('#jasmine_content').append('<div id="fieldset"></div>')
Ember.test = true
Lead.run()
Ember.run.end()
我得到错误信息,如:
无法在的Metamorph执行操作,是不是在DOM
或
必须有当前运行循环。
是否有任何指导或最佳做法来协商测试runloop?
each_test.js链接破碎。 – Intentss 2013-05-24 18:00:45
@Intentss好赶上,我已经更新了链接 – pangratz 2013-05-25 16:10:25