默认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()
来源:oschina
链接:https://my.oschina.net/u/131450/blog/167287