Your SlideShare is downloading. ×
0
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Introducción al testing con Grails (XPWeek)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introducción al testing con Grails (XPWeek)

1,992

Published on

Charla para la XPWeek el 23 de Septiembre de 2011

Charla para la XPWeek el 23 de Septiembre de 2011

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,992
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
23
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. TESTING Y TDD CONGROOVY Y GRAILS por Alberto Vilches http://albertovilches.com Twitter: @albertovilches
  • 2. SOBRE MIPasado•  Trabajando en desarrollo desde 1998•  Programador en Clipper y Delphi•  Programador en Java y J2EE desde 2001•  Instructor y consultor de Bea•  Administrador de sistemas en AenaPresente•  Programador freelance en Grails y Flex•  Partner de Escuela de Groovy•  Evangelizador Groovy y Grails•  Fundador de la conferencia Greach
  • 3. AGENDA•  Introducción a Groovy•  Testing con Groovy•  Introducción a Grails•  Testing con Grails
  • 4. ¿QUÉ ES GROOVY?•  Groovy es Java•  Dinámico•  Inspirado en Ruby, Python y Smalltalk•  OOP puro•  Closures, Gstrings, Builders, DSL
  • 5. ¿QUÉ ES GROOVY?•  Groovy es Java.•  Dinámico•  Inspirado en Ruby, Python y Smalltalk•  OOP puro•  Closures, Gstrings, Builders, DSL•  No compile type-checking•  Ligeramente más lento que Java
  • 6. TESTING CON GROOVY•  Power Asserts•  GroovyTestCase•  Mocking •  Closure as OnlyOneMethodInterface •  Map as Interface •  Expando •  mockFor / stubFor
  • 7. GROOVY POWER ASSERTS
  • 8. GROOVY TEST CASE•  Añade nuevos assert*•  Y algunos métodos como shouldFail o notImplementedYet•  Nombres de métodos largos
  • 9. MOCKING CON GROOVYClosure as OnlyMethodInterface
  • 10. MOCKING CON GROOVY Map as Interface
  • 11. MOCKING CON GROOVY Expando
  • 12. MOCKING CON GROOVYa
  • 13. MOCKING CON GROOVYa
  • 14. MOCKING CON GROOVYa
  • 15. MOCKING CON GROOVYa
  • 16. GRAILS•  Introducción a Grails•  Estructura de un proyecto•  Artefactos •  Controladores •  Objetos de dominio •  Servicios•  Testing
  • 17. ¿QUÉ ES GRAILS?•  Groovy sobre Spring•  RAD en Java. Stack, no framework•  CoC -> No XML•  MVC (binding, i18n, validation) + persistencia•  Servidor (Tomcat) y bbdd (HSQL) embebidos•  Cambios en caliente, Genera WAR.•  Extensible: plugins
  • 18. TESTING GRAILS•  Dinámico: código sensible vs fácil de testear •  Mocks•  JUNIT •  Pruebas unitarias •  Pruebas de integración •  Pruebas funcionales: •  Plugin: Selenium, Geb, Canoo Webtest•  Spock, GSpec, GMock
  • 19. ESTRUCTURA DEL PROYECTO
  • 20. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES
  • 21. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS
  • 22. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS TAGLIBS
  • 23. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS TAGLIBSSERVICIOS
  • 24. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS TAGLIBSSERVICIOS
  • 25. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS CLASES DE DOMINIO TAGLIBSSERVICIOS
  • 26. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS CLASES DE DOMINIO TAGLIBSSERVICIOS
  • 27. MVC: CONTROLADORES
  • 28. MVC: CONTROLADORES
  • 29. MVC: CONTROLADORES
  • 30. MVC: CONTROLADORES params session request response …
  • 31. MODELO DE DATOS: GORM
  • 32. MODELO DE DATOS: GORM
  • 33. MODELO DE DATOS: GORM
  • 34. MODELO DE DATOS: GORM
  • 35. MODELO DE DATOS: GORM Genero 1 * Película
  • 36. SERVICIOS
  • 37. SERVICIOS
  • 38. SERVICIOS
  • 39. SERVICIOS
  • 40. SERVICIOS
  • 41. SERVICIOS
  • 42. SERVICIOS singleton prototype request session
  • 43. CONTROLLER TESTS•  a
  • 44. CONTROLLER TESTS•  a
  • 45. CONTROLLER TESTS•  a
  • 46. CONTROLLER TESTS: SPOCK•  a
  • 47. GORM: TESTING•  grails-datastore-gorm-tck •  In-memory GORM implementation
  • 48. •  constraints
  • 49. TEST DE INTEGRACIÓN•  Arranca instancia de Grails•  Base de datos en memoria•  Environment “test”•  Cada test en una transacción
  • 50. TEST INTEGRACIÓN: CONFIG
  • 51. TEST INTEGRACIÓN: BOOTSTRAP
  • 52. TEST INTEGRACIÓN: BOOTSTRAP
  • 53. Y MUCHO MAS: SPOCK•  a
  • 54. Y MUCHO MÁS: TEST FUNCIONALES•  a
  • 55. ¿TE GUSTA GROOVY?En Madrid, 4 de Nov. de 2011•  Apúntate en http://greach.es
  • 56. ¡GRACIAS! ¿Preguntas? ¿Dudas?

×