“完成()多次呼叫”摩根与摩卡
请参阅此处的debugging器输出
var expect = require('chai').expect var User = require('../../app/models/index.js').User describe('Model User', function(){ it('add a user', function(done){ var user = new User({ uname: 'cx', password: 'cx' }) user.save() //Model#save() return Promise .then(function(user,effectNum){ done() //success state }) .catch(function(error){ done(error) //fail state }) }) })
使用Chai,Mocha,Moongoose我在学习moongodb时testing我的代码。 似乎是正确的但是我得到一个错误:
0 passing (2m) 2 failing 1) Model User add a user: Error: done() called multiple times 2) Model User add a user: Error: done() called multiple times
为什么它叫多次完成
done()callback接受一个错误,所以你可以尝试直接使用它:
it('should add a user', function(done) { var user = new User({ uname: 'cx', password: 'cx' }); user.save(function(err) { if (err) throw err; done(); }); });
describe('Model User', function(){ it('add a user', function(done){ var user = new User({ uname: 'cx', password: 'cx' }) user.save() .then(function(){ assert(false) }).then(done,done) }) }) //or describe('Model User', function(){ it('add a user', function(){ var user = new User({ uname: 'cx', password: 'cx' }) return user.save() .then(function(){ assert(false) }) }) })
摩卡支持诺言^ _ ^,我的错误