在运行测试之前等待服务器监听

时间:2017-11-12 21:11:12

标签: node.js express mocha chai chai-http

我正在使用Mocha + Chai + chai-http来测试我的服务器应用程序。问题是,它需要在实际启动服务器之前做一些事情(主要是DB写入)。这会导致我的测试崩溃,因为在服务器启动之前需要运行的任务尚未执行。这是我正在使用的代码:

// server declaration, it's just a restify server
(async () => {
  await cron.scanDB();
  await user.updateEventRoles();
  console.log('started');

  server.listen(config.port, () => {
    log.info('Up and running, %s listening on %s', server.name, server.url);
  });
})();

...
module.exports = server;

在测试中:

chai.request(server)
  .get('/single/' + eventRes.body.data._id + '/organizers')
  .set('X-Auth-Token', 'foobar')
  .end((err, res) => {
    // some actual tests

在运行测试之前,我该怎么做才能让服务器启动?

0 个答案:

没有答案