我正在为 Node.js Express 服务器编写单元测试。服务器会根据远程客户端的 IP 地址执行一些操作,并使用req.ip
服务器上的 IP 地址进行检索。
如何编写单元测试来欺骗自己的 IP 地址来测试服务器的响应,或者有更好的方法来达到同样的目的吗?(如果重要的话,我正在 jasmine-node 中编写单元测试。)
我正在为 Node.js Express 服务器编写单元测试。服务器会根据远程客户端的 IP 地址执行一些操作,并使用req.ip
服务器上的 IP 地址进行检索。
如何编写单元测试来欺骗自己的 IP 地址来测试服务器的响应,或者有更好的方法来达到同样的目的吗?(如果重要的话,我正在 jasmine-node 中编写单元测试。)
您可以使用 express 的信任代理功能来伪造来自 IP 地址的请求以进行测试。当您在 express 中启用信任代理时,app.enable('trust proxy')
您可以添加X-Forwarded-For
HTTP 标头并将其值设置为测试所需的 ip。
此处记录了 express ip/trust 代理行为