加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

角度模拟 – 只是模拟显式请求.通过所有意外的请求

发布时间: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();
}

这将捕获“/手机”.如果没有捕获,它将传递.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读