Groovy&Grails-代码剪辑-domain对象保存

泄露秘密 提交于 2019-11-30 00:49:37

默认domain对象中,没有在constraints中声明的属性都是必填项。

如User对象

<!-- lang: groovy -->
package com.example

class User {
    String username
    String firstname
    String lastname

    static constraints {
    }
}

测试代码

<!-- lang: groovy -->
@TestFor(User)
class UserTests {

    void testSave() {
        def user = new User(username:'test',firstname:'zhang')	
        assertNotNull user.save()
    }
}

会出现用例测试错误,将所有字段都填值后,测试代码运行正常

<!-- lang: groovy -->
def user = new User(username:'test',firstname:'zhang',lastname:'san')

在constraints中声明lastname允许为空

<!-- lang:groovy -->
static constraints = {
    loginName(nullable:false)
    firstName(nullable:false)
    lastName(nullable:true)
}

再测试不填写lastname属性值代码,测试正常

<!-- lang:groovy -->
def user = new User(username:'test',firstname:'zhang')
assertNotNull user.save()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!