Ember CLI 测试复杂的模型关系
Posted
技术标签:
【中文标题】Ember CLI 测试复杂的模型关系【英文标题】:Ember CLI testing complicated model relationships 【发布时间】:2014-11-26 01:54:32 【问题描述】:据我所知,在 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 数据中的新内容? this PR 正在解决该问题。 【参考方案1】:如果您使用 Ember 默认的“Ember-QUnit”,那么您必须列出所有需要的模型。
但我正在使用另一种测试方法,即 ember-data-factory-guy。 这用于在测试模型、组件、控制器等时创建工厂而不是夹具数据。
你可以通过它。
https://github.com/danielspaniel/ember-data-factory-guy
【讨论】:
以上是关于Ember CLI 测试复杂的模型关系的主要内容,如果未能解决你的问题,请参考以下文章
Ember 数据模型中的计算属性不适用于 ember-cli-mirage 模型
具有嵌套 hasMany 或 belongsTo 关系的 Ember 模型