2014-09-27 123 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)