Grails:如何模拟域字段验证器?

时间:2014-12-02 12:15:46

标签: grails testing mocking gorm spock

有没有办法模拟域字段验证器?
目前,我在域类中的代码如下所示:

isPrimary(validator: { Boolean value, Person obj ->
     .......
}

我需要模仿这个功能。

我尝试使用它:

Person.metaClass.static.isPrimary.validator = { Boolean value, Person obj ->
     .......
}

它没有用,有什么建议如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

以下是一个例子:

class Person {
    Boolean isPrimary

    static constraints = {
        isPrimary validator: isPrimaryValidator

        //or this for a fully qualified validator
        //isPrimary validator: Person.isPrimaryValidator
    }

    static isPrimaryValidator = { Boolean value, Person obj ->
        //some validation
    }
}

//in Test
Person.metaClass.'static'.isPrimaryValidator = { Boolean value, Person obj ->
     //Do something else
}