在测试环境中的服务器上运行axio请求

时间:2019-05-18 18:46:39

标签: node.js axios chai chai-http

我在笔记本电脑上不同端口上的本地主机上运行了两个不同的Express服务器。其中一个正在向另一个请求。

我正在尝试使用chai-http测试服务器A,但是随后从服务器A到服务器B的请求导致Error: connect ECONNREFUSED 127.0.0.1:3020

服务器A对服务器B的请求:

try {
    await axios({
      method: 'post',
      url: `${process.env.userapi}/invite`,
      data: { user: { email } },
      headers: { 'Content-Type': 'application/json' }
    });
  } catch (e) {
    console.error(e);
    throw e;
  }
}

服务器B     //引导路由     require('./ config / passport')(passport);     require('./ config / express')(应用,护照);     require('./ config / routes')(应用,护照);

mongoose.connection.on('error', connect);
mongoose.connection.on('disconnected', connect);
mongoose.connection.once('open', listen);

function listen() {
  // if (app.get('env') === 'test') return;
  if (!module.parent) app.listen(port);
  console.log('Express app started on port ' + port);
}

...

app.post('/invite', invitationCtrl);

服务器B配置

    res.header('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Credentials', true);
    res.setHeader(
      'Access-Control-Allow-Headers',
      'Origin, X-Requested-With, Content-Type, Accept, Authorization, appid'
    );
    res.setHeader(
      'Access-Control-Allow-Methods',
      'GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS'
    );
    if (req.method == 'OPTIONS') {
      res.status(200).end();
    } else {
      next();
    }

使用邮递员而不是chai测试/invite路由时似乎可行。我怀疑是axios电话,但我不知道在哪里找

0 个答案:

没有答案