我在域类中有一个字段,我将空白:false约束应用于,并且我编写了一个单元测试来验证该字段的仅空格字符串是否未通过验证,但测试失败:
void 'test name cannot be blank'() {
when:
domain.name = ' '
then:
!domain.validate(['name'])
domain.errors['name'].code == 'blank'
}
我这行[{1}}上的ConditionNotSatisfiedError
错误:ConditionNotSatisfiedError
这是我的域名对象:
!domain.validate(['name'])
答案 0 :(得分:0)
您尚未指明您正在使用的Grails版本,这可能是相关的。 https://github.com/jeffbrown/selenablank项目展示了3.3.3中的工作原理。
https://github.com/jeffbrown/selenablank/blob/master/grails-app/domain/selenablank/Thing.groovy
package selenablank
class Thing {
String name
static constraints = {
name nullable: false, blank: false, size: 1..20
}
}
https://github.com/jeffbrown/selenablank/blob/master/src/test/groovy/selenablank/ThingSpec.groovy
package selenablank
import grails.testing.gorm.DomainUnitTest
import spock.lang.Specification
class ThingSpec extends Specification implements DomainUnitTest<Thing> {
void 'test name cannot be blank'() {
when:
domain.name = ' '
then:
!domain.validate(['name'])
domain.errors['name'].code == 'blank'
}
}