J'apprends des grails de Grails - pour commencer par le livre de Jason Rudolph. Ma classe de domaine ressemble que:Grails - test de validateur personnalisé sur un numéro de classe de domaine
class Race {
String name;
Date startDateTime
String city
String state
Float distance
Float cost
Integer maxRunners = 10000
static hasMany = [registrations: Registration]
static constraints = {
name(maxSize: 50, blank: false)
startDateTime(validator: {
return it > new Date()
})
city(maxSize: 30, blank: false)
state(inList: ['GA', 'NC', 'SC', 'VA'], blank: false)
distance(min: 3.1f, max: 100f)
cost(min: 0f, max: 999.99f)
}
String toString() { "${this.name} : ${this.city}, ${this.state}" }
}
Je veux tester la validation personnalisée de champ dateTime. Le test ressemble à cela:
class RaceTests extends GrailsUnitTestCase {
protected void setUp() {
super.setUp()
}
protected void tearDown() {
super.tearDown()
}
void testCustomDateValidation() {
def race = new Race()
race.startDateTime = null
assertFalse(race.validate())
}
}
Le test ressemble à celui du livre que j'ai mentionné plus tôt. Mais je reçois
groovy.lang.MissingMethodException: No signature of method: racetrack.Race.validate() is applicable for argument types:() values: []
Je suis coincé et je n'ai trouvé aucune solution:/Toute aide sera appréciée.
Vous mentionnez que vous utilisez le livre de Jason Rudolph, donc je suppose que vous utilisez la 1ère édition. Ceci est très daté et vous devriez utiliser la 2ème édition qui est également gratuite: http://www.infoq.com/minibooks/grails-getting-started –
Yup, comme il s'est avéré que j'utilisais l'ancienne édition - je savais il y avait la deuxième édition, mais j'ai oublié de le télécharger: P – jjczopek