Javascript Nock不返回设置好的头

Javascript Nock不返回设置好的头,javascript,node.js,mocha.js,chai,nock,Javascript,Node.js,Mocha.js,Chai,Nock,我正在使用Nock拦截http请求 test.js: const nock = require('nock'); const server = require('../server'); const request = require('request'); describe('My test', () =>{ it('Should returns the customized header', () => { nock('url') .get('/t

我正在使用
Nock
拦截http请求

test.js:

const nock = require('nock');
const server = require('../server');
const request = require('request');

describe('My test', () =>{
   it('Should returns the customized header', () => {
      nock('url')
      .get('/test')
      .reply(302, {
         'user-agent': 'Mozilla'
       })

      const { headers } = await request(server).get('/test');
      expect(headers['user-agent']).to.include('Mozilla');

   }
})
当我运行测试时,它失败了,
request
接收到的头的日志如下所示:

 { 

 'user-agent': 'node-superagent/3.8.3',
  location: 'undefined',
  vary: 'Accept, Accept-Encoding',
  'content-type': 'text/plain; charset=utf-8',
  'content-length': '31',
  date: 'Fri, 24 May 2019 09:15:46 GMT',
  connection: 'close' 
 }

我是错过了什么还是这是Nock的正常行为

问题在于将头传递给reply函数的方式。头是该方法的第三个参数,但您将它们作为第二个参数提供,这意味着带有
user-agent
键的对象将被用作主体。因为它是302,并且您可能需要一个空的主体,所以应该传递一个空字符串作为第二个参数

nock('url')
  .get('/test')
  .reply(302, '', {
    'user-agent': 'Mozilla'
  })