我正在进行单元测试,并希望将虚拟数据添加到现有商店。在我正在测试的功能中,我正在调用一个商店:
var tripStore = Ext.getStore('Trips');
通常情况下,此商店将在之前的点上通过Ajax调用填充。但是,因为我正在测试我想使用虚拟数据而不依赖于后端。我意识到我可以重写函数来传递商店,但我不想为了测试而重写它。
最重要的是,如何将本地数据添加到已存在但没有数据的商店中?此外,后端不可用,所以当我尝试store.load或store.reload时,它会抛出一个404,说它无法找到url rest / trip。我不希望它尝试调用此URL,而是我想添加本地数据。
模型定义:
Ext.define('app.model.Trip', {
fields:[
{name: 'someField1', type: 'string'},
{name: 'someField2', type: 'string'},
{name: 'someField3', type: 'string'},
],
proxy: {
noCache: true,
url: 'rest/trip',
reader: {
type: 'json',
rootProperty: 'trips'
}
}
});
当我不想要它时调用url的(尝试的)测试脚本,但只希望它添加本地数据:
var tripsStore = Ext.StoreManager.lookup('Trips');
tripsStore.load({
autoLoad: false,
addRecords: true,
proxy: {
data: localData,
},
callback: function(records, operation, success) {
if (success) {
debugger
} else {
debugger
}
}
})