2015-02-03 8 views
0

최근에 node.js, express 및 mongoose로 앱을 개발하기 시작했습니다. 모카를 테스트 프레임 워크로 사용하기로 결정한 후 테스트 mongoose.model 속성의 유효성을 어떻게 테스트 할 것인지 궁금합니다. 나는 다음과 같이 정의 된 모델이 있다면몽구스 모델 필수 속성 테스트

그래서 : userSchema.name 정의 및 null이 아닌되어야 함을 의미 :

var userSchema = new Schema({ 
    name: {type: String, required: true} 
}); 

var userModel = new mongoose.model('User', userSchema); 

을 나는 진술 "사실 필요"있으리라 믿고있어.

userModel을 인스턴스화 할 때 null 또는 정의되지 않은 name 속성을 포함하는 객체를 제공해야합니까?

감사 MongoDB를 인스턴스가 실행해야 할 필요없이 몽구스 모델과 단위 테스트를 작성하기위한

답변

1

체크 아웃 Mockgoose.

당신은이 같은 간단한 테스트를 작성할 수

var mongoose = require('mongoose'), 
     mockgoose = require('mockgoose'); 

    mockgoose(mongoose); 

    var Schema = mongoose.Schema; 
    var SimpleSchema = new Schema({ 
     name: { 
      type: String, 
      required: true 
     } 
    }); 
    mongoose.model('SimpleModel', SimpleSchema); 

    it('fails to save document with missing name', function(done) { 
     var simpleModel = new SimpleModel({ 
      name: undefined 
     }); 
     simpleModel.save(function(err) { 
      should.exist(err); 
      done(); 
     }); 
    }); 

그런 다음 (널 (null), 정의 등) 이름에 대해 다른 값을 가진 다른 테스트를 정의하거나 빈 개체를 (즉, name 속성이없는 개체) .

+0

고마워요! 이것은 내가 찾고 있었던 바로 그 것이다. – ColdMonkey