我一直在寻找这个地方。有些人似乎做了
mongoose.connect('mongodb://localhost/test');
继续他们的describe
来电。那么异步等待呢?
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
// yay!
});
我应该如何在Mocha测试中使用此连接?我应该把所有测试都放在回调中吗?我应该在单元测试中包装等待连接代码吗?连接是否会在describe
和it
s?
答案 0 :(得分:4)
Mongoose connect
函数支持回调。
由于before
的Mocha异步版本也接受回调(通常称为done
),因此只需将其传递给connect
函数,如:
describe("Your test", function () {
before(function (done) {
mongoose.connect('mongodb://localhost/test', done);
});
// here you can write your tests
});
这样,连接将在describe
范围内保持有效before
方法。
但是,如果您想在测试文件中对所有测试使用连接,请在所有describe
之前调用它:
before(function (done) {
mongoose.connect('mongodb://localhost/test', done);
});
describe("first suite", function () {
// do your tests
});
describe("second suite", function () {
// do your tests
});
// and so on