在每次测试之前,我都会重置应用程序:
QUnit.testStart = ->
App.reset()
在大多数情况下,这很有效。但是,在我的一条路线中,我定义了一个回滚:
App.ProjectsNewRoute = Ember.Route.extend
model: ->
@store.createRecord('project')
setupController: (controller, model) ->
controller.set('content', model)
deactivate: ->
@get('controller.model').rollback()
当存在回滚时,许多看似无关的集成和路由测试失败。如果我注释掉回滚,这些其他测试按预期传递。或者,我可以评论App.reset()
,一切都按预期工作。那么为什么这两个人打得不好呢?随着我的测试套件的增长,我需要能够在不破坏事件的情况下调用App.reset()
。