【问题标题】:Grails: Unit test domain class constraint gives wrong resultGrails:单元测试域类约束给出错误的结果
【发布时间】:2012-11-06 18:16:30
【问题描述】:

我正在尝试为我的域类编写单元测试来测试约束,但我得到了意想不到的结果。这是我的域类:

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

    }

}

这有什么问题?我该如何解决?

谢谢,

【问题讨论】:

    标签: unit-testing grails junit grails-2.0


    【解决方案1】:

    这段代码我做错了:

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

    应该是if(similarUser && obj.id == similarUser.id)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 2011-09-14
      相关资源
      最近更新 更多