我正在使用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
在运行测试之前,我该怎么做才能让服务器启动?