Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点+;测试:如何使用nock模拟api_Node.js_Unit Testing_Nock - Fatal编程技术网

Node.js 节点+;测试:如何使用nock模拟api

Node.js 节点+;测试:如何使用nock模拟api,node.js,unit-testing,nock,Node.js,Unit Testing,Nock,我试图在单元测试中模拟api,如下所示: const request = require('supertest'); const nock = require('nock'); const app = require('../app'); const agent = request.agent(app); nock.disableNetConnect(); const userResponse = { user: { _id: '58828157ce4e140820e236

我试图在单元测试中模拟api,如下所示:

const request = require('supertest');
const nock = require('nock');
const app = require('../app');

const agent = request.agent(app);
nock.disableNetConnect();
const userResponse = {
    user: {
      _id: '58828157ce4e140820e23648',
      info: {
        email: 'fake@test.io',
        password: '1',
        name: 'testx',
      },
};
  it('should register new user', (done) => {
    nock('http://localhost:5000')
      .post('/auth/register')
      .reply(200, userResponse);



    agent.post('/auth/register')
      .send({
        name: 'test',
        email: 'fake@test.io',
        password: '1',
      })
      .expect(200)
      .end((error, response) => {
        expect(response.body.user.info.email).to.equal('fake@test.io');
        expect(response.body.user.info.name).to.equal('test');
        done();
      });
  }).timeout(5000);
但是我得到了这个错误:

NetConnectNotAllowedError:Nock:不允许的网络连接 “127.0.0.1:54877/auth/register”


看一看
nock.disableNetConnect
阻止真正的http请求发生,并且您尝试nock的端点似乎运行在端口54877上的服务器上,但您似乎试图nock运行在端口5000上的服务器。

这个技巧有效吗?我的意思是,在我的测试用例中,我也面临着同样的问题,需要上传一些文件,但给出了“NetConnectNotAllowedError:Nock:NotAllowNetConnect”