Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Supertest使用express app返回301。应用程序只接受托管服务器_Javascript_Express_Testing_Supertest - Fatal编程技术网

Javascript Supertest使用express app返回301。应用程序只接受托管服务器

Javascript Supertest使用express app返回301。应用程序只接受托管服务器,javascript,express,testing,supertest,Javascript,Express,Testing,Supertest,您好,我正在使用supertest测试我的节点js express服务器应用程序 以下是我正在努力实现的目标 let request = require('supertest'); let app = require('./server.js'); request(app).get("/api").then(data=>{//*do something here*//}); 但是,我将永久移动301 如果我真的在端口8008上启动服务器,那么将测试更改为 let request = r

您好,我正在使用supertest测试我的节点js express服务器应用程序

以下是我正在努力实现的目标

let request = require('supertest');
let app = require('./server.js');

request(app).get("/api").then(data=>{//*do something here*//});
但是,我将永久移动
301

如果我真的在端口8008上启动服务器,那么将测试更改为

let request = require('supertest');
let app = require('./server.js');
let agent = request.agent('localhost:8008');

agent.get("/api").then(data=>{//*do something here*//});
然后我得到了正确的api响应

有没有办法通过使用
request(app)
而不是使用
localhost:8008
来让它工作并获得200个响应

我将作为持续集成的一部分运行测试,并且我无法完全控制测试环境,因此无法运行每个测试服务器来访问localhost


谢谢。

我发现我在express上实施的SSL连接存在问题

我已经有条件地关闭了测试环境上的SSL强制,它的工作方式和我预期的一样


希望这能帮助将来遇到同样问题的人:)

如果你的答案解决了你在问题中提到的问题,那么你可以将答案标记为接受,这似乎是真的。谢谢