몽구스 유효성 검사를 테스트하는 방법을 아는 사람이 있습니까? MongooseJs 유효성 검사 테스트
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._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(val);
}
내가 유효성을 검사 할
예, I는 (예로서) 다음 스키마를 갖는다. 최종 결과는 유효성 검사를 테스트 할 수 있기를 원하며 이러한 상황에 따라 이러한 코드 조각 간의 상호 작용을 테스트하는 다른 테스트를 작성할 수 있습니다. 예 : 사용자가 찍은 것과 동일한 사용자 이름으로 가입을 시도합니다 (이미 사용중인 이메일). 나는 실제로 유효성 검사가 DB를 치지 않고 작동 중임을 보거나 검사 할 수있는 테스트가 필요합니다. 이 테스트 중에 몽고를 치고 싶지는 않습니다. 통합 테스트가 아닌 UNIT 테스트 여야합니다. :)
고마워요!
사용자에게 전화하는 테스트validate() : 나는 자스민 노드 (Jasmine Node)를 사용하여 테스트를 수행하고 있는데, 빌드를 실패하면 내 어설트리 (assertions)는 결코 치지 않습니다. 나는 어설 션을 제대로 실행하기 위해 콜백에 대한 테스트를 설정해야했다. 제 경우에는 jasmine-node를 사용하여 jasmine.asyncSpecWait()을 각 테스트의 끝에 추가하고 jasmine.asyncSpecDone()을 validate 콜백 내부에 추가했습니다. 모든 것이 좋았습니다. 매우 유용한 답변! –