使用supertest,我可以进行resquest以测试我的node.js应用程序
var request = require('supertest'); var api = require('../server').app; ... it('json response',function(done){ request(api) .get('/api') .set('Accept','application/json') .expect('Content-Type',/json/) .end(function(err,res){ done(); }); });
如何设置特定的ip来发出测试请求?
it('ip access denied',/json/) // set specific ip .end(function(err,res){ res.body.message.should.eql('Access denied'); done(); }); });
解决方法
假设您正在使用req.ip通过express检查ip地址(尽管其他框架可能表现相同),
使用所需的IP地址在测试中设置X-Forwarded-For标头:
使用所需的IP地址在测试中设置X-Forwarded-For标头:
.set('X-Forwarded-For','192.168.2.1')
您可能需要在服务器中启用trust proxy选项:
app.enable('trust proxy')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。