有没有人对测试ember route的connectOutlets是否成功有任何好的建议?
例如,我有以下路线:
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
Run Code Online (Sandbox Code Playgroud)
我如何检查这是否具有所需的行为?
我可以像这样测试currentState.path:
it 'should transition to vault', ->
Ember.run =>
@router.transitionTo 'vault'
expect(@router.getPath('currentState.path')).toEqual 'root.vault'
Run Code Online (Sandbox Code Playgroud)
但我不认为这是一个非常好的测试.
在我看来,这段代码不值得测试。
首先,让我们正式定义此代码所需的行为:
当路由器转换到“vault/index”状态并且一切正常时,会发生以下情况:
你看,所有有意义的工作都是由 Ember 完成的。因此,严格来说,没有什么可测试的,因为我们不测试第三方代码。
在我看来,这段代码只有一件事值得测试:我们是否向控制器提供了正确的数据。即便如此,我也只会在遇到代码的不当行为后才测试它。
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |