角度模拟 – 只是模拟显式请求.通过所有意外的请求
发布时间:2020-12-17 07:41:21 所属栏目:安全 来源:网络整理
导读:我发现这个令人难以置信的令人沮丧的角度嘲笑阻止所有请求BY DEFAULT,并迫使我“通过”我想要的. 有时我只想用一个模拟测试1个url,我必须为每个“意外请求”错误跳过严重的环. 我不知道正则表达式,我不喜欢正则表达式,我不想使用正则表达式! 看看这个可怕的
我发现这个令人难以置信的令人沮丧的角度嘲笑阻止所有请求BY DEFAULT,并迫使我“通过”我想要的.
有时我只想用一个模拟测试1个url,我必须为每个“意外请求”错误跳过严重的环. 我不知道正则表达式,我不喜欢正则表达式,我不想使用正则表达式! 看看这个可怕的代码,我需要一个简单的模拟 $httpBackend.whenGET(//atlas/account/[0-9]+$/) .respond(atlasAccounts[0]); $httpBackend.whenGET(//scripts$/).passThrough(); $httpBackend.whenGET(/^w+.*/).passThrough(); $httpBackend.whenPOST(/^w+.*/).passThrough(); 为什么这不能简化为一行? $httpBackend.whenGET(//atlas/account/[0-9]+$/) .respond(atlasAccounts[0]); 甚至更好,为什么它不支持通配符?他们试图让开发者的生活变得更加困难吗? $httpBackend.whenGET("/atlas/account*") .respond(atlasAccounts[0]); 这就是我需要的,如果只是这个直观的… 有没有办法禁用这个全或无约定在ngMock和ONLY拦截网址我明确地模拟?
首先添加所有的捕获,然后最终添加一个passthrough为所有.我在我的应用程序中做这样的事情,并且工作很棒:
function run($httpBackend) { var phones = [{ name: 'phone1' },{ name: 'phone2' }]; // Capture specific request $httpBackend.whenGET('/phones').respond(function () { return phones; }); // Passthrough everything $httpBackend.whenGET(/[sS]*/).passThrough(); } 这将捕获“/手机”.如果没有捕获,它将传递. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |