2017-08-10 40 views
0

嘗試新元素插入到我的MongoDB數據庫,當我使用終端「NPM運行測試」它給了我這個錯誤:確保「完成()」被稱爲JS錯誤

Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure 
"done()" is called; if returning a Promise, ensure it resolves. 

這裏是我的代碼保存一個元素到我的DB:

const mocha = require('mocha'); 
const assert = require('assert'); 
const PPB = require('../Models/Pingpongballs'); 

describe('Saving records', function() { 
    it('Saves record to db', function(done) { 
    var ppball = new PPB ({ 
     amount: 5 
    }); 

    ppball.save().then(function() { 
     assert(ppball.isNew === false); 
     done(); 
    }); 
    }); 
}); 

回答

3

在摩卡,爲異步測試,你可以調用done回調或返回的承諾。你得到這個錯誤,因爲你的測試失敗了,你還沒有catch塊調用done錯誤:

describe('Saving records', function() { 
    it('Saves record to db', function() { 
    var ppball = new PPB ({ 
     amount: 5 
    }); 

    return ppball.save().then(function(){ 
     assert(ppball.isNew === false); 
     return null; 
    }); 
    }); 
}); 
+0

離開了'done'說法,雖然:d – robertklep

+0

@robertklep刪除,謝謝。 – alexmac

+0

你可以刪除返回null – Denis