我正在阅读"Grails入门"电子书,并在第38页(实际第50页)第4章(验证)中遇到了问题.这是代码:
哦,书中的代码可能有拼写错误,但它不会影响我得到的行为或错误消息,如下所示:
def code = badField?.codes.find {
it == 'race.startDate.validator.invalid'
}
Run Code Online (Sandbox Code Playgroud)
正如我所说,它不会影响主要的执行,但只是好奇,如果我是对的,或者如果这是Groovy中的东西,我还没有遇到过.我把我认为它应该放在下面.
package racetrack
import groovy.util.GroovyTestCase
class RaceIntegrationTests extends GroovyTestCase {
void testRaceDatesBeforeToday() {
def lastWeek = new Date() - 7
def race = new Race(startDate:lastWeek)
assertFalse "Validation should not succeed", race.validate()
// It should have errors after validation fails
assertTrue "There should be errors", race.hasErrors()
println "\nErrors:"
println race.errors ?: "no errors found"
def badField = race.errors.getFieldError('startDate')
println "\nBadField:"
println badField ?: "startDate wasn't a bad field"
assertNotNull "Expecting …Run Code Online (Sandbox Code Playgroud)