摩卡与猫鼬连接时执行后挂起(Mocha hangs after execution when con

2019-09-30 19:25发布

谈话是便宜的,告诉我的代码

林纳斯·托瓦兹

这样做与集成测试mochasupertest 。 下面的代码

//app.js
mongoose.Promise = global.Promise;
mongoose.connect(config.mongoURL, error => {
  if (error) {
    throw error;
  }

  console.log('Connected to mongodb');
});

modules.export = app;



// test.js
it('returns 200', () => {
  return supertest(app).get('/').expect(200);
});

基本上会发生什么是输出“连接到MongoDB的”测试运行日志后(我有一个3次测试,没有使用DB),事后摩卡挂在那儿,我必须按Ctrl + C。 我可能错过了一些配置,但我无法看到它。

不用说,评论猫鼬线( mongoose.connect(...)修复它。

我在想什么?

Answer 1:

您可以从数据库断开测试完成后。 这可以在完成after的功能,例如。

after((done) => {
  app.close(() => {
    mongoose.connection.close(done);
  });
});

如果你没有断开,你会得到你所描述症状。



Answer 2:

更简化的答案

after((done) => {
    mongoose.connection.close(done);
});


文章来源: Mocha hangs after execution when connecting with Mongoose