Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Grails
Tests de integración sobre un controlador con servicios
Pablo Riesgo - jueves 18/09/2008Hola,
Estoy tratando de realizar unos tests de integración sobre un controlador que contiene dependencias sobre varios servicios. Estos servicios tienen a su vez dependencias entre si. Siguiendo la documentación en http://grails.org/doc/1.0.x/guide/9.%20Testing.html sección "9.2 Testing Controllers with Services" he inyectado los servicios en el controlador manualmente.
Es decir, en el método setUp de mis tests :
//crea el controlador
vxStartCtl = new VxStartController()
//crea los servicios
sessionService = new SessionService()
profileService = new ProfileService()
userService = new UserService()
// Inyecta las dependencias entre servicios
profileService.sessionService = sessionService
userService.profileService = profileService
userService.sessionService = sessionService
//inyecta los servicios en el controlador
vxStartCtl.profileService = profileService
vxStartCtl.userService = userService
vxStartCtl.sessionService = sessionService
Los servicios son accesibles desde los tests y en la ejecucion normal de la aplicación no tengo ningún problema, sin embargo, no consigo que estos servicios sean accesibles desde el controlador para los tests. La ejecución del test se para cada vez que en el controlador se emplea un servicio.
Mi duda es si directamente lo estoy haciendo mal de alguna manera o si realmente esto no funciona para varios servicios con dependencias entre si.
Un saludo,
Pablo.
PD: tendréis que hacer un acto de fe y confiar en que las dependencias están bien porque no podía meter todo el código.
Re: Tests de integración sobre un controlador con servicios
Pablo Riesgo - jueves 18/09/2008Me contesto yo solo... si que funciona. El error venía de otra parte.
De todas maneras es muy interesante implementar los test utilizando la inyección de servicios y la metaClass para realizar mocking sobre un controlador, espero que esto sirva al menos para despertar la curiosidad de alguien.
UN saludo,
Pablo.