【问题标题】:Add custom http headers to chai requests将自定义 http 标头添加到 chai 请求
【发布时间】:2016-04-30 23:06:27
【问题描述】:

我正在使用 node.js 构建一个应用程序并使用 mocha + chai 进行测试。有没有办法可以将自定义标头添加到我的 GET 和 POST chai 请求中?

例如,我想要类似(半伪代码):

chai.request(server)
  .get('/api/car/' + data.car_id)
  .headers({'some_custom_attribute':'some_value'})
  .end(function(err, res) {
    //do something
  });

同样的帖子:

chai.request(server)
  .post('/api/car/')
  .headers({'some_custom_attribute':'some_value'})
  .send({car_id: 'some_car_id'})
  .end(function(err, res) {
    //do something
  });

有人可以帮忙吗?

提前致谢!

【问题讨论】:

    标签: node.js testing request chai


    【解决方案1】:

    使用set函数设置http头:

    chai.request(server)
      .get('/api/car/' + data.car_id)
      .set('some_custom_attribute', 'some_value')
      .end(function(err, res) {
        //do something
      });
    

    setting-up-requests

    【讨论】:

    • 以及如何在标题中添加帖子变量?
    • @user269867 为此使用send 方法。
    • 您能否指导我使用更简单的方法在chai.request 中添加多个标题,因为在我的场景中,我有超过 10 个标题
    • @NazirAhmed 尝试这样的事情:let headers = [{ name: 'h1', value: 'v1' }, /* OTHER HEADERS */]; let chain = chai.request.get(/*YOUR REQUEST*/); headers.forEach(headers, header => chain = chain.set(header.name, header.value)); chain.end(/* DO SOMETHING */);
    • 注意set('header', value)必须在HTTP方法(get、post等)之后调用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2023-03-12
    • 2023-03-25
    • 1970-01-01
    • 2017-02-15
    • 2017-12-14
    相关资源
    最近更新 更多