对于茉莉花的前端单元测试,我想在我的应用程序中模拟我的所有请求。
我已经实现了一个模拟所有代理的方法。
proxy: appname.classes.proxy.ProxyNegotiator.getModelProxy("User")
这个方法做这样的事情:
getModelProxy: function(config) {
var url = this.getUrl(config);
if (this.getProxyType() == 'api') {
return appname.classes.proxy.WebApiProxy.getModelProxy(url);
} else if (this.getProxyType() == 'test') {
return appname.classes.proxy.LocalTestProxy.getModelProxy(url);
}
return undefined;
}
所以你可以想象根据我的 ProxyType 配置,我得到了 web api 代理或本地代理进行测试。我现在已经涵盖了我的 crud 操作..
不过,我确实还有另一个问题要处理。我的应用程序中确实有一些其他请求,例如(验证用户名):
//check if Username is Valid
Ext.Ajax.request({
url: '/api/User',
method: 'GET',
async: false,
params: { id: user.get('Id'), username: user.get('UserName') },
failure: function(response, opts) {
myErrors.push({
field: 'UserName',
message: appname.locale.ErrorInvalidUsername
});
}
});
我在模拟这个 Ext.Ajax.request 事情时确实遇到了一些麻烦......我已经在网上搜索过,但没有找到任何好的解决方案。模拟此请求的最佳做法是什么?我很高兴你能给我的每一个提示和/或想法。请帮忙!