嗨,我正在使用超级测试来测试我的Node js Express服务器应用程序。
这就是我要实现的目标。
let request = require('supertest');
let app = require('./server.js');
request(app).get("/api").then(data=>{//*do something here*//});
但是,我得到301 Moved Permanently
如果我实际上是在端口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个响应?
作为持续集成的一部分,我将运行测试,并且我无法完全控制测试环境,因此我将无法运行每个测试服务器来访问本地主机。
谢谢。
答案 0 :(得分:1)
我发现我在Express上强制执行SSL连接问题。
我有条件地在测试环境中关闭了SSL强制实施,并且按预期运行!
希望这对以后遇到相同问题的人有所帮助:)