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 时测试我的代码。似乎是正确的 但是我得到一个错误:
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
最佳答案
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)
})
})
})
Mocha 支持 Promise ^_^ ,我的错
关于javascript - "done() called multiple times" Mocha 月鹅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33063605/