2014-09-27 120 views
1

我使用摩卡和猫鼬,并且我的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

您的问题可能来自使用mongoose.createConnection而不是mongoose.connect。 Mongoose填充只在使用.connect时使用上面的mongoose.connection,如果.createConnection它从createConnection函数返回连接对象。

(稍晚的回答,但我发现你的问题在寻找我自己的问题与createConnection)