我正在使用mocha和mongoose,而我的beforeEach()和afterEach()函数一直挂着。它给了我一个错误:
object model "before each" hook:
Error: timeout of 2000ms exceeded
似乎永远不会调用回调。如何为我的测试初始化数据库?任何指导都将不胜感激。
describe('Object model', function(){
before(function(callback){
if(mongoose.connection.db)
return callback();
else
mongoose.createConnection(testDB.url, callback);
});
after(function(callback){
mongoose.connection.close(callback)
});
beforeEach(function(callback){
VerifyText.create({number:'12223334444', code: '1342'},function(err){
callback(err);
});
})
afterEach(function(callback){
VerifyText.remove({},callback)
})
it('should not crash', function(callback){
should.exist(true)
callback();
})
})
答案 0 :(得分:0)
您的问题可能来自使用mongoose.createConnection而不是mongoose.connect。只有在使用.connect时,Mongoose才会填充上面使用的mongoose.connection。如果是.createConnection,它会从createConnection函数返回连接对象。
(很少回答,但我在使用createConnection搜索我自己的问题时发现了你的问题)