【发布时间】:2017-10-23 18:31:48
【问题描述】:
我有一个夹具创建,看起来有点像这样。
// mirage/fixtures/people.js
export default {
'people': [
{
'id': 1,
'name': 'Ram',
},
{
'id': 2,
'name': 'Raja',
}
]
}
在我的验收测试中,我正在使用这个数组。但在我的测试中,我想修改这个 people 数组并添加,假设另一个对象
{
'id': 3,
'name': 'John',
}
注意:我不想使用工厂,因为我不想动态生成所有数据,所以我想从固定装置中获取这个数组,将我的新对象推送到这个数组中,然后返回它。正确的做法是什么?
注意2:不建议在fixtures本身中添加这个对象,因为我想根据测试中的条件动态地将item添加到fixtures中。
【问题讨论】:
-
我有点困惑。您使用的是哪个 Mirage 版本? AFAIK
server.create仅用于工厂。为了加载夹具数据,您应该运行server.loadFixtures() -
嗨@RamyBenAroya,在我的海市蜃楼的config.js中,我正在做
import peopleFromFixture from '/mirage/fixtures/people';this.get('/people', (schema, request) => {`return peopleFromFixture;``});` -
这听起来不对。您永远不会在 mirage db 中创建模型。您基本上为人们创建了自己的小型数据库,这是
/mirage/fixtures/people中的导出对象。 -
@RamyBenAroya 抱歉,确实我没有使用 server.create 作为夹具。我的错,我现在已经编辑了问题,但我原来的问题仍然存在。
标签: ember.js ember-data fixtures ember-testing ember-cli-mirage