尝试将新元素插入到我的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;
    });
  });
});

10-04 15:37
查看更多