Existe-t-il un moyen moins lourd de tester les contraintes? Il me semble que c'est trop de code pour tester les contraintes.Y at-il un moyen moins gonflé pour tester les contraintes dans les grails?
class BlogPostTests extends GrailsUnitTestCase {
protected void setUp() {
super.setUp()
mockDomain BlogPost
}
void testConstraints() {
BlogPost blogPost = new BlogPost(title: "", text: "")
assertFalse blogPost.validate()
assertEquals 2, blogPost.errors.getErrorCount()
assertEquals "blank", blogPost.errors.getFieldError("title").getCode()
assertEquals "blank", blogPost.errors.getFieldError("text").getCode()
blogPost = new BlogPost(title: "title", text: ObjectMother.bigText(2001))
assertFalse blogPost.validate()
assertEquals 1, blogPost.errors.getErrorCount()
assertEquals "maxSize.exceeded", blogPost.errors.getFieldError("text").getCode()
}
}
Daniel, c'est exactement ce que je pensais. Je veux dire, quand une méthode exécute une sorte d'algorithme qui change une sorte d'état, il est logique d'écrire un test unitaire comme une sorte de test «ça ne se soucie pas de comment on le fait, mais ça se fait»: ça confirme les effets de l'algorithme. Avec des contraintes, il n'y a absolument aucune boîte noire et apparemment aucune valeur dans les tests unitaires. Pour être honnête, j'aimerais voir au moins un exemple convaincant d'écriture de tests unitaires pour les contraintes, si ce n'est pour d'autres raisons, que parce que j'aimerais utiliser le cadre de test intégré apparemment élégant. ;) –
Ce n'est pas vraiment une réponse à la question et est plutôt juste un point de discussion/discussion. – Joseph