javascript - "done() called multiple times" Mocha 月鹅

标签 javascript node.js mongodb mocha.js

See debugger output here

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/

相关文章:

mongodb - 在 Windows 机器上链接本地插件和数据库后无法访问 Nodebb 上的管理页面

javascript - 根据url更新侧边栏主菜单和子菜单类

javascript - 计算表情符号的字符长度?

node.js - Node 检查器不启动

javascript - 无法使用 Fetch-node 存储 get 调用的结果

ruby-on-rails - 从 Rail Active 调用 Socket.io :Record callback or observer

javascript - React - 组件导出多个组件

javascript - 如何检查字符串是否包含在自定义字母表中?

mongodb - 未授权在 mongo 4.2 中对 testdb.system.indexes src/mongo/db/commands/find_cmd.cpp 170 进行查询

mongodb - pymongo 游标需要很长时间才能找到