我正在尝试使用server.js和proxy.config.json文件模拟服务,以便可以在量角器测试中使用该模拟服务。我要使用的方法是拥有这样的测试文件:
const server = require('server');
const { get, post } = server.router;
const { json } = server.reply;
server({ port: 3000 }, [
get('/abc', ctx => {
return json({
foo: "bar"
})
})
]);
以及类似的proxy.config.json文件:
{
"/xyz": {
"target": "http://localhost:3000/abc",
"changeOrigin": true,
"secure": false,
"logLevel": "debug",
"pathRewrite": {
"^/xyz": ""
}
}
}
然后我通过致电运行测试
ng e2e --proxy-config proxy.config.json
但是,由于我的应用程序在http://localhost:49156中运行,而我希望模拟的服务在https://localhost:8443/xyz中运行,因此我并不成功。如果我想模拟和代理与应用程序相同的端口/协议(49156和HTTP)中的某些内容,我可以这样做,但是对于在端口8443和https中运行的服务我却不能。有人可以帮我弄这个吗?我究竟做错了什么? 谢谢您的宝贵时间。
答案 0 :(得分:0)
我终于能够通过这样创建一个environmentE2E.ts文件来解决最初的问题:
export const environment = {
production: false,
baseURL: 'http://localhost:49156'
};
在angular-cli.json文件中添加以下内容:
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts",
"e2e": "environments/environmentE2E.ts" // Added only this line, the others were already there
}
并使用以下命令调用测试:
ng e2e --proxy-config proxy.config.json --environment e2e
希望它对他人有帮助。 谢谢。