gpt4 book ai didi

node.js - Mocha 单元测试 Mongoose 模型

转载 作者:太空宇宙 更新时间:2023-11-03 22:21:54 25 4
gpt4 key购买 nike

我正在尝试使用 Mocha 和 Chai 对我的 Mongoose 模型进行简单测试

// Mock user
var testUser = new User({
companyID: "1",
username: "mockUser",
password: "password",
email: "a@valid.email",
});

// Create new user
it('Should add a new user with a hashed password to DB' , (done) => {
User.addUser(testUser, (err, user) => {
if(err) console.log(err);
else {
assert.typeOf(user, 'Object');
assert.equal(user.username, "mockUser");
expect(user.password).to.not.equal("password");
}
done();
});
});

错误:超时超过 2000 毫秒。对于异步测试和 Hook ,确保调用“done()”;如果返回 Promise,请确保它能够解决

我认为 Mocha 已经改变,因为它一直在与以前的项目一起工作。我在这里缺少什么?

模型方法:

module.exports.addUser = function(newUser, callback) {
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if (err) throw err;
newUser.password = hash;
newUser.save(callback);
});
});
}

最佳答案

有时,当单元测试意味着在数据库中创建对象时,它需要的时间超过默认超时的 2 秒。尝试启动 Mocha 增加超时并查看它是否有效。

mocha --timeout 10000

关于node.js - Mocha 单元测试 Mongoose 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53593508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com