无法从验收测试中修改 Ember Mirage 夹具
Unable to modify Ember mirage fixture from within acceptance test
我创建了一个 fixture,看起来有点像这样。
// mirage/fixtures/people.js
export default {
'people': [
{
'id': 1,
'name': 'Ram',
},
{
'id': 2,
'name': 'Raja',
}
]
}
在我的验收测试中,我正在使用这个数组。但是在我的测试中,我想修改这个人数组并添加,假设另一个对象
{
'id': 3,
'name': 'John',
}
注意:我不想使用工厂,因为我不想动态生成所有数据,所以我想从固定装置中获取这个数组,将我的新对象推入这个数组,然后 return 它。正确的做法是什么?
注意 2:不建议在 fixtures 本身中添加此对象,因为我想在我的测试中根据条件动态地将项目添加到 fixture。
这非常简单。在海市蜃楼配置中,我们不应该这样做
// import peopleFromFixture from '/mirage/fixtures/people';
// this.get('/people', (schema, request) => {
// return peopleFromFixture; });
改为从工厂读取数据并使用 server.loadFixtures('people')
填充原始夹具值。
所以 config.js 看起来像 =>
this.get('/people');
像这样设置你的工厂=>
import { Factory } from 'ember-cli-mirage';
export default Factory.extend({
id(i) { return i+1; },
name() { return faker.name.findName(); }
});
在您的测试用例中,像这样填充原始值和新值=>
server.loadFixtures('people');
server.create('people', { name: 'John' });
我创建了一个 fixture,看起来有点像这样。
// mirage/fixtures/people.js
export default {
'people': [
{
'id': 1,
'name': 'Ram',
},
{
'id': 2,
'name': 'Raja',
}
]
}
在我的验收测试中,我正在使用这个数组。但是在我的测试中,我想修改这个人数组并添加,假设另一个对象
{
'id': 3,
'name': 'John',
}
注意:我不想使用工厂,因为我不想动态生成所有数据,所以我想从固定装置中获取这个数组,将我的新对象推入这个数组,然后 return 它。正确的做法是什么?
注意 2:不建议在 fixtures 本身中添加此对象,因为我想在我的测试中根据条件动态地将项目添加到 fixture。
这非常简单。在海市蜃楼配置中,我们不应该这样做
// import peopleFromFixture from '/mirage/fixtures/people';
// this.get('/people', (schema, request) => {
// return peopleFromFixture; });
改为从工厂读取数据并使用 server.loadFixtures('people')
填充原始夹具值。
所以 config.js 看起来像 =>
this.get('/people');
像这样设置你的工厂=>
import { Factory } from 'ember-cli-mirage';
export default Factory.extend({
id(i) { return i+1; },
name() { return faker.name.findName(); }
});
在您的测试用例中,像这样填充原始值和新值=>
server.loadFixtures('people');
server.create('people', { name: 'John' });