Talk is cheap, show me the code
Linus Torvald
使用 mocha
和 supertest
进行集成测试。这是代码
//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);
});
基本上发生的情况是,测试运行后输出“Connected to mongodb”日志(我只有 3 个测试,没有一个使用数据库),然后 mocha 卡在那里,我必须 Ctrl+C。我可能错过了一些配置,但我看不到它。
不用说,注释 mongoose 行 (mongoose.connect(...)
) 可以修复它。
我错过了什么?
最佳答案
测试完成后,您必须断开与数据库的连接。例如,这可以在 after
函数中完成。
after((done) => {
app.close(() => {
mongoose.connection.close(done);
});
});
如果您不断开连接,您将会出现您所描述的症状。
关于node.js - Mocha 在与 Mongoose 连接时执行后挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48725343/