gpt4 book ai didi

javascript - 在 JavaScript Protractor 端到端测试中模拟 HTTP 后端

转载 作者:行者123 更新时间:2023-12-03 08:12:21 24 4
gpt4 key购买 nike

我有一些端到端测试(JavaScript + Protractor),我需要模拟 API 后端。

我正在使用 http-backend-proxy:

这就是我所做的:

var HttpBackend = require('http-backend-proxy');
var myData = require('myFakeApiResponse.json');

this.proxy = new HttpBackend(browser);
this.proxy.whenGET(/.+\/api\/groups\/.+/).respond(200, myData);

JavaScript 提示whenGET 不是一个函数。

如果我这样做:

this.proxy.whenGET(/.+\/api\/groups\/.+/);

它不再提示(但显然我需要设置响应,所以我需要 .respond() 部分)

我不明白为什么它不起作用。代理对象似乎已设置,当我 console.log 时,我得到:

{ when: [Function],
whenGET: [Function],
whenPUT: [Function],
whenHEAD: [Function],
whenPOST: [Function],
whenDELETE: [Function],
whenPATCH: [Function],
whenJSONP: [Function],
context: {},
flush: [Function],
syncContext: [Function],
onLoad: [Getter] }

它似乎是一个正确的 JavaScript 对象(甚至列出了 whenGET() 函数!)

最佳答案

我也在使用 http-backend-proxy。

我需要这个来传递(主要是 html 页面,因为它是 Angular 应用程序):

proxy.onLoad.whenGET(/.*/).passThrough();

还有 onLoad:

proxy.onLoad.whenGET('the url').respond(...);

当我使用 browser.get(...) 导航时,会调用 onLoad.whenGET。

关于javascript - 在 JavaScript Protractor 端到端测试中模拟 HTTP 后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34087164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com