Ember CLI测试复杂模型关系

54

据我所知,当在 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个模型,每个模型都与所有其他模型间接相关。

我的理解正确吗?有更有效的方法吗?或者我错过了以这种方式做的好处?


昨晚我刚将一个项目升级到了0.0.46版本,也注意到了这种行为,而且我不记得在之前的版本中出现过。可能是Ember Data中的新功能? - Dhaulagiri
6
这个问题正在通过这个PR得到解决。 - Eduardo M - bbaaxx
1个回答

1
如果您正在使用Ember默认的“Ember-QUnit”,那么您必须在needs中列出所有模型。
但是,我正在使用另一种测试方法,即“ember-data-factory-guy”。 它用于在测试模型、组件、控制器等时创建工厂,而不是使用固定数据。
您可以尝试一下。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接