尝试将新元素插入到我的mongoDB数据库中,当我使用终端“ npm run test”时,出现以下错误:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure
"done()" is called; if returning a Promise, ensure it resolves.
这是将元素保存到数据库中的代码:
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();
});
});
});
最佳答案
在mocha中,对于异步测试,您可以调用done
回调或返回promise。您收到此错误,是因为您的测试失败,并且您没有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;
});
});
});