摩卡 - 守望创造新的猫鼬连接

时间:2018-02-11 02:53:56

标签: node.js mongodb mongoose mocha

我正在导出app.js,以便我可以使用supertest request(app).get('/').expect(200)进行集成测试。但是,对于每个mocha运行(通过--watch标志),都会创建新连接(我已经有28个连接)。

我不言而喻,就像几乎每个教程一样,我正在mongodb内的app.js连接。

我不确定这是否是摩卡问题,或者是否可以使用依赖性反转来解决(尽管我不这么认为)。

我已经使用--exit标志运行了mocha 5.0.0。

我该如何防止这种情况?

修改:添加代码。

这是app.js

的基础
// app.js
const app = express();
mongoose.connect(config.mongoUri);
...
modules.exports = app;

1 个答案:

答案 0 :(得分:0)

您必须使用afterEach / beforeEach循环来管理与数据库的连接/断开连接。

这里是一个示例,如果不够的话,我会给您发送更简单的代码:

  let server
  beforeEach(() => {
    server = require('../../../index')
  })
  afterEach(async () => {
    await server.close()
  })

服务器,这里是对猫鼬conexion的引用:

const server = app.listen(port, () => winston.info(`App listening on port ${port}`))
module.exports = server