Mocha 单元测试猫鼬模型
Mocha unit testing a mongoose model
我正在尝试使用 mocha 和 chai 对我的猫鼬模型进行简单测试
// 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 毫秒。对于异步测试和挂钩,确保 "done()" 被调用;如果返回一个 Promise,确保它 resolve
我认为 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
忘记要求应用程序本身。
const app = require('../app');
我正在尝试使用 mocha 和 chai 对我的猫鼬模型进行简单测试
// 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 毫秒。对于异步测试和挂钩,确保 "done()" 被调用;如果返回一个 Promise,确保它 resolve
我认为 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
忘记要求应用程序本身。
const app = require('../app');