2013-11-25 6 views
1

moza를 사용하여 NodeJS 응용 프로그램을 테스트하고 있습니다. 첫 번째 테스트가 원활하게 실행되는 동안 두 번째 테스트가 실패합니다 (오류는 null과 같습니다). 두 테스트 모두 콜백 내에서 유효한 사용자를 얻었습니다 (둘 다 몽구스에서 동일한 ID를 가짐). 테스트는 분명히 데이터베이스 작업이 수행되기를 기다리지 않습니다. 내가 첫 번째 테스트의 콜백의 두 번째 테스트를 배치 할 때 NodeJS 테스트 데이터베이스 (Mocha 및 should.js 포함)

describe("User", function(){ 
    before(function (done) { 
     // clear database 
     model.UserModel.collection.remove(done); 
    }) 

    it("should save", function(done){ 
     user1.save(function(error, user){ 
      should.not.exist(error); 
      user.should.have.property("first_name", "Rainer"); 
      done(); 
     }) 
    }) 

    it("should not save duplicate user", function(done){ 
     user1.save(function(error, user){ 
      should.exist(error); 
      done(); 
     }) 
    }) 
}) 


는 또한 작동하지 않습니다. 중복 키 오류가 있는지 테스트하고 싶지만 주어진 상황에서이를 달성 할 수는 없습니다.

답변

1

user1 문서를 다시 사용하는 것 같습니다.

몽구스에서는 동일한 문서를 다시 저장할 수 있습니다 (예 : 변경 한 후). 새 문서가 저장된다는 의미는 아니며 이전 문서가 업데이트된다는 것입니다.

제대로 테스트하려면 두 번째 테스트에서 새 문서 인스턴스 (첫 번째 것과 동일한 속성)를 만들어야합니다.