我正在使用mocha为 nodejs+mongodb Web 应用程序编写单元测试。有很多测试文件需要运行mongodb。
所以我想在所有测试运行之前打开一个连接,并在所有测试之后关闭它,但我不知道该怎么做。
目前,我创建了一个文件dbtest_global.js,其中包含以下代码:
before(function(done) {
console.log('before all');
global.connection = openMongoDB();
done();
});
after(function(done) {
global.connection.close(done);
});
然后在其他测试中,我习惯require('./dbtest_global')要求它。
但是我发现在运行mocha的时候,before方法会被多次调用,导致global.connection修改了很多次。
我想知道有没有办法让beforeandafter方法在运行时只被调用一次mocha?