有人知道如何测试Mongoose验证吗?
例如,我有以下模式(以示例为例):
var UserAccount = new Schema({
user_name : { type: String, required: true, lowercase: true, trim: true, index: { unique: true }, validate: [ validateEmail, "Email is not a valid email."] },
password : { type: String, required: true },
date_created : { type: Date, required: true, default: Date.now }
});
validateEmail方法的定义如下:
// Email Validator
function validateEmail (val) {
return /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(val);
}
我想测试验证功能。最终结果是我想要能够测试验证,根据这些事件发生,我可以编写其他测试来测试这些代码片段之间的交互。例如:用户尝试使用已经被使用的用户名注册(电子邮件已经在使用中)。我需要一个测试,以便我可以拦截或看到验证是否工作,而不必访问数据库。在这些测试期间,我不想访问Mongo。这些应该是单元测试而不是集成测试。 :)
谢谢!