2012-09-17 18 views
4

Grails In Action 책의 예제를 따르고 있습니다. 예제 코드의 검색이 null 참조를 반환하기 때문에 통합 테스트가 실패합니다. findAll()에 대한 호출을 사용했는데 이제 테스트 데이터가 저장되지 않습니다. all.size가 0으로 돌아옵니다.Grails - 도메인 객체가 통합 테스트에서 저장되지 않습니다.

void testBasicDynamicFinders() { 

     new User(userId: 'glen', password: 'secret', profile: new Profile(email: '[email protected]')).save() 
     new User(userId: 'peter', password: 'sesame', profile: new Profile(homepage: 'http://www.peter.com/')).save() 

     def all = User.findAll() 
     assertEquals 2, all.size() 
} 

아무 것도 사용하지 않으려면 save (flush : true)를 사용해 보았습니다.

또한 try ... catch 구조에 save 문 중 하나를 동봉했지만 예외가 발생하지 않은 것처럼 보입니다.

Grails가 정말 내 엉덩이를 차고 있습니다. 도와주세요?

+1

:-) 저장되지 도메인 오브젝트를 방지하는 모든 유효성 검사 오류를 표시해야합니다 그리고

save(failOnError:true) 

를 사용하는 경우'? –

+0

아하! 이렇게하면 유효성 검사 오류가 있음이 드러났습니다. 이상한 책들에 대해서는 언급하지 않으 셨습니다 ... 답장으로 귀하의 게시물을 제출하여 동의하고 적절한 인정을 줄 수 있도록하십시오. – Stephan

+0

완료! 고마워요 .-) 그렇습니다. 유효성 검사 오류는 물건이 저장되지 않을 때 일반적인 범인입니다. –

답변

11

당신이 당신에게 당신이`(failOnError : true)를 저장 봤어

+2

저장 시도의 기본값입니다. –

관련 문제