我正在导出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;
答案 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