2012-11-06 3 views
0

제약 조건 테스트를 위해 도메인 클래스의 단위 테스트를 작성하려고하는데 예기치 않은 결과가 있습니다.Grails : 단위 테스트 도메인 클래스 제약 조건이 잘못되었습니다.

class Student { 
    String firstName 
    String lastName 

    static constraints = { 
     firstName blank:false,minSize:2,maxSize:20,validator: { val, obj -> 
         def similarUser = Student.findByFirstNameIlikeAndLastNameIlike(obj.firstName, obj.lastName) 
         if(!similarUser || obj.id == similarUser.id){ 
         return ['Student.invalid.unique.message'] 
         } 
        } 
     lastName blank:false, minSize:2,maxSize:20 
    } 

} 

여기 내 단위 테스트입니다 :

@TestFor(Student) 
@Mock(Student) 
class StudentTests { 
    def st 

    @Before 
    void setUp(){  
     mockForConstraintsTests(Student)   
     st=new Student(firstName:"FerasO",lastName:"Ahmad")  

    } 


    @Test 
    void testMinSize() {     
     assertTrue student.validate() // I guess this should return true but It returns false 

    } 

} 

그와 함께 무슨 일을하려고 여기 내 도메인 클래스는? 어떻게 해결할 수 있을까요?

감사합니다,

답변

0
뭔가 잘못이 코드를하고 있었다

:

if(!similarUser || obj.id == similarUser.id) 

if(similarUser && obj.id == similarUser.id)

해야한다
관련 문제