我试图在我的mocha测试的before
块中创建一个测试用户,我需要对其进行哈希密码。 Apparently you don't need a done() function if you use promises。我正在实施bcrypt.hash,就像在bcrypt docs中所说的那样:
before(function(){
//create a user and populate user's first recipes
//create a User object
return bcrypt.hash('newt', 10).then(function(err,hash){
//create the user object
var user = new User({email:'test@test.io',username:'test',password:hash})
//save that user
user.save()
})
})
但是,当我运行测试时,它会给我一个错误:
TypeError: Cannot read property 'then' of undefined
是什么给出的?感谢。
答案 0 :(得分:0)
bcrypt.hash('newt',10)没有返回承诺。
请确保您使用的是最新版本的bcrypt和mocha,因为这些软件包的早期版本不支持promises。您也可以尝试重新安装模块。