Problemas ao criar teste funcional com retorno json
03/06/2015 09:56
0
Dae Galera !

Eu estou trabalhando na criação de testes para um aplicação que já está rodando em produção e utiliza a o grails 2.3.11. Não tenho experiência com testes então tudo que sei até o momento é fruto de um estudo das últimas duas semanas.  Já consegui criar testes unitários, de integração e funcionais com o Geb-plugin. Após ler este post estou tentando criar exemplos de testes funcionais para uma chamada que retorna json. Tentei seguir os passos deste e de outros posts e todos falharam. Segue o exemplo que eu estou testando:

//Controller
class EnderecoController {   def buscarCep(String cep) {

if (!cep) {
render status: NOT_FOUND
return
}

def cepEncontrado = Cep.findByCep(cep)

if (!cepEncontrado) {
render status: NOT_FOUND
return
}

render cepEncontrado as JSON
}

}//Teste
?class EnderecoFunctionalSpec extends IntegrationSpec{

? ?  @Shared
  ?static restUrl = "http://localhost:8080/app" void "consultar um cep cadastrado"(){

given:
def rest = new RestBuilder()
def cep = '11111-111' //cep existente

when:
def resp = rest.get("$restUrl/endereco/buscarPorCep?cep=$cep")

then:
resp.status == 200
resp.json != null

}

}

//Resultado

?| Compiling 1 source files...
| Running without daemon...objc[3273]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.| Running Grails applicationobjc[3306]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.Configuring Spring Security Core ...... finished configuring Spring Security CoreConfiguring Spring Security REST ...... finished configuring Spring Security REST| Server running. Browse to http://localhost:8080/app| Waiting for server availability| Waiting for server availability.| Waiting for server availability..| Waiting for server availability...| Waiting for server availability....| Waiting for server availability.....| Compiling 1 source files| Compiling 1 source files.| Running 1 spock test...| Failure:  sigo.local.EnderecoFunctionalSpec|  java.lang.IllegalArgumentException: ServletContext must not be null at grails.util.Holders.getApplicationContext(Holders.java:80) at grails.test.spock.IntegrationSpec.$spock_initializeSharedFields(IntegrationSpec.groovy:43)| Completed 0 spock test, 0 failed in 0m 0s| Compiling 1 source files| Compiling 1 source files.| Server stopped//Rodar testes
grails -reloading test-app functional: EnderecoFunctional
Tags: teste funcional controller json rest


0
Segue retorno formatado
| Server running. Browse to http://localhost:8080/app
| Waiting for server availability
| Waiting for server availability.
| Waiting for server availability..
| Waiting for server availability...
| Waiting for server availability....
| Waiting for server availability.....
| Compiling 1 source files
| Compiling 1 source files.
| Running 1 spock test...
| Failure:  sigo.local.EnderecoFunctionalSpec
|  java.lang.IllegalArgumentException: ServletContext must not be null
at grails.util.Holders.getApplicationContext(Holders.java:80)
at grails.test.spock.IntegrationSpec.$spock_initializeSharedFields(IntegrationSpec.groovy:43)
| Completed 0 spock test, 0 failed in 0m 0s?
03/06/2015 10:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto