Testing 测试ember.js连接插座

Testing 测试ember.js连接插座,testing,ember.js,Testing,Ember.js,有没有人对测试ember路线的连接插座是否成功有什么好的建议 例如,我有以下路线: vault: Ember.Route.extend route: '/vault' connectOutlets: (router, event) -> router.get('applicationController').connectOutlet 'exercises' index: Ember.Route.extend route: '/' connectOutl

有没有人对测试ember路线的连接插座是否成功有什么好的建议

例如,我有以下路线:

vault: Ember.Route.extend
  route: '/vault'
  connectOutlets: (router, event) ->
    router.get('applicationController').connectOutlet 'exercises'
  index: Ember.Route.extend
    route: '/'
    connectOutlets: (router, event) ->
      exercises = WZ.store.find(WZ.Exercise)
      router.get('exercisesController').connectOutlet 'main', 'exercisesHome', exercises
我将如何检查这是否具有所需的行为

我可以像这样测试currentState.path:

it 'should transition to vault', ->
  Ember.run =>
    @router.transitionTo 'vault'
  expect(@router.getPath('currentState.path')).toEqual 'root.vault'

但我认为这不是一个很好的测试。

在我看来,这段代码不值得测试

首先,让我们正式定义此代码所需的行为:

当路由器转换到“保险库/索引”状态,并且一切正常时,会发生以下情况:

  • Ember创建ExercisesHomeView的新实例
  • Ember将exercisesHomeController的内容属性设置为练习列表
  • Ember将创建的视图连接到ExerciseView模板中的主插座
  • 你看,所有有意义的工作都是由恩伯完成的。因此,严格来说,没有什么需要测试的,因为我们不测试第三方代码

    在我看来,这段代码只有一件事情可能值得测试:我们是否向控制器提供了正确的数据。即使在那个时候,我也会在遇到错误行为后才测试这段代码