Ember CLI测试复杂的模型关系

时间:2014-10-01 09:02:28

标签: unit-testing ember.js ember-data ember-cli

据我所知,在ember CLI中测试ember-data模型时,所有关系都必须列在needs中。如果结构简单,这很好,但在许多情况下会有多个层。

例如,如果设置的模型定义了以下关系:

Model a:
   belongsTo: b
   belongsTo: c

Model b:
   hasMany: a
   hasMany: d

Model c:
   hasMany: a
   belongsTo: e

Model d:
   hasMany b

Model e:
   hasMany c

然后,对于任何这些模型的每个单元测试都需要needs中列出的所有其他模型,例如c的测试:

needs: [
    'model:a' // Because c -> a
    'model:e' // Because c -> e
    'model:b' // Because c -> a -> b
    'model:d' // Because c -> a -> b -> d
]

我的实际配置比14个模型复杂得多,每个模型间接与其他模型相关。

我的理解是否正确?有更有效的方法吗?或者有一个很好的理由这样做,我错过了吗?

1 个答案:

答案 0 :(得分:1)

如果您使用Ember默认' Ember-QUnit'那么你必须列出所有需要的模型。

但是我可以使用其他测试方法,即 ember-data-factory-guy 。 在测试模型,组件,控制器等时,这用于创建工厂而不是夹具数据。

你可以通过它。

https://github.com/danielspaniel/ember-data-factory-guy