Erro Teste Unitário Grails

0 respostas
Raimundo_Norberto

Olá,

Eu tenho a seguinte classe:
class Teste {
	
	String nome
	String sobrenome

    static constraints = {
		nome nullable: true, maxSize: 10
		sobrenome nullable: true, maxSize: 10
    }
}
E o seu teste unitário:
@TestFor(Teste)
class TesteTests {

    void testSomething() {
       def Teste testeNovo = new Teste(nome: 'Teste de Nome')
		assert !testeNovo.validate()
		assert 'maxSize' == testeNovo.errors['nome']
    }
}
Estou tentando reproduzir os testes de constraint de forma semelhante ao que é mostrado na documentação aqui. Mas estou recebendo o seguinte erro:
| Loading Grails 2.0.4
| Configuring classpath.
| Environment set to test.....
| Compiling 1 source files.....
| Compiling 1 source files.
| Running 1 unit test... 1 of 1
| Failure:  testSomething(br.com.academicoweb.TesteTests)
|  Assertion failed: 

assert 'maxSize' == testeNovo.errors['nome']
                 |  |         |     |
                 |  |         |     Field error in object 'br.com.academicoweb.Teste' on field 'nome': rejected value [Teste de Nome]; codes [br.com.academicoweb.Teste.nome.maxSize.error.br.com.academicoweb.Teste.nome,br.com.academicoweb.Teste.nome.maxSize.error.nome,br.com.academicoweb.Teste.nome.maxSize.error.java.lang.String,br.com.academicoweb.Teste.nome.maxSize.error,teste.nome.maxSize.error.br.com.academicoweb.Teste.nome,teste.nome.maxSize.error.nome,teste.nome.maxSize.error.java.lang.String,teste.nome.maxSize.error,br.com.academicoweb.Teste.nome.maxSize.exceeded.br.com.academicoweb.Teste.nome,br.com.academicoweb.Teste.nome.maxSize.exceeded.nome,br.com.academicoweb.Teste.nome.maxSize.exceeded.java.lang.String,br.com.academicoweb.Teste.nome.maxSize.exceeded,teste.nome.maxSize.exceeded.br.com.academicoweb.Teste.nome,teste.nome.maxSize.exceeded.nome,teste.nome.maxSize.exceeded.java.lang.String,teste.nome.maxSize.exceeded,maxSize.exceeded.br.com.academicoweb.Teste.nome,maxSize.exceeded.nome,maxSize.exceeded.java.lang.String,maxSize.exceeded]; arguments [nome,class br.com.academicoweb.Teste,Teste de Nome,10]; default message [Property [{0}] of class [{1}] with value [{2}] exceeds the maximum size of [{3}]]
                 |  |         org.grails.datastore.mapping.validation.ValidationErrors: 1 errors
                 |  |         Field error in object 'br.com.academicoweb.Teste' on field 'nome': rejected value [Teste de Nome]; codes [br.com.academicoweb.Teste.nome.maxSize.error.br.com.academicoweb.Teste.nome,br.com.academicoweb.Teste.nome.maxSize.error.nome,br.com.academicoweb.Teste.nome.maxSize.error.java.lang.String,br.com.academicoweb.Teste.nome.maxSize.error,teste.nome.maxSize.error.br.com.academicoweb.Teste.nome,teste.nome.maxSize.error.nome,teste.nome.maxSize.error.java.lang.String,teste.nome.maxSize.error,br.com.academicoweb.Teste.nome.maxSize.exceeded.br.com.academicoweb.Teste.nome,br.com.academicoweb.Teste.nome.maxSize.exceeded.nome,br.com.academicoweb.Teste.nome.maxSize.exceeded.java.lang.String,br.com.academicoweb.Teste.nome.maxSize.exceeded,teste.nome.maxSize.exceeded.br.com.academicoweb.Teste.nome,teste.nome.maxSize.exceeded.nome,teste.nome.maxSize.exceeded.java.lang.String,teste.nome.maxSize.exceeded,maxSize.exceeded.br.com.academicoweb.Teste.nome,maxSize.exceeded.nome,maxSize.exceeded.java.lang.String,maxSize.exceeded]; arguments [nome,class br.com.academicoweb.Teste,Teste de Nome,10]; default message [Property [{0}] of class [{1}] with value [{2}] exceeds the maximum size of [{3}]]
                 |  br.com.academicoweb.Teste : null
                 false

	at br.com.academicoweb.TesteTests.testSomething(TesteTests.groovy:16)
| Completed 1 unit test, 1 failed in 2013ms
| Tests FAILED  - view reports in target\test-reports
Sendo que o esperado seria o teste passar. Estou fazendo algo errado?
Criado 5 de julho de 2012
Respostas 0
Participantes 1