据我所知,在ember中测试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个模型,每个模型都与所有其他模型间接相关。
我的理解正确吗?有没有更有效的方法来做到这一点?或者,有没有一个很好的理由这样做,我错过了?
发布于 2015-07-06 22:36:34
如果你使用的是Ember默认的'Ember-QUnit‘,那么你必须在需求中列出所有的型号。
但是还有一个我正在使用的测试替代方案,即ember-data-factory-guy.用于在测试模型、组件、控制器等时创建工厂数据,而不是夹具数据。
你可以通过它。
https://stackoverflow.com/questions/26137738
复制相似问题