Introducción al testing con Grails (XPWeek)

2,454 views
2,292 views

Published on

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
2,454
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
27
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Introducción al testing con Grails (XPWeek)

  1. 1. TESTING Y TDD CONGROOVY Y GRAILS por Alberto Vilches http://albertovilches.com Twitter: @albertovilches
  2. 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. 3. AGENDA•  Introducción a Groovy•  Testing con Groovy•  Introducción a Grails•  Testing con Grails
  4. 4. ¿QUÉ ES GROOVY?•  Groovy es Java•  Dinámico•  Inspirado en Ruby, Python y Smalltalk•  OOP puro•  Closures, Gstrings, Builders, DSL
  5. 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. 6. TESTING CON GROOVY•  Power Asserts•  GroovyTestCase•  Mocking •  Closure as OnlyOneMethodInterface •  Map as Interface •  Expando •  mockFor / stubFor
  7. 7. GROOVY POWER ASSERTS
  8. 8. GROOVY TEST CASE•  Añade nuevos assert*•  Y algunos métodos como shouldFail o notImplementedYet•  Nombres de métodos largos
  9. 9. MOCKING CON GROOVYClosure as OnlyMethodInterface
  10. 10. MOCKING CON GROOVY Map as Interface
  11. 11. MOCKING CON GROOVY Expando
  12. 12. MOCKING CON GROOVYa
  13. 13. MOCKING CON GROOVYa
  14. 14. MOCKING CON GROOVYa
  15. 15. MOCKING CON GROOVYa
  16. 16. GRAILS•  Introducción a Grails•  Estructura de un proyecto•  Artefactos •  Controladores •  Objetos de dominio •  Servicios•  Testing
  17. 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. 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. 19. ESTRUCTURA DEL PROYECTO
  20. 20. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES
  21. 21. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS
  22. 22. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS TAGLIBS
  23. 23. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS TAGLIBSSERVICIOS
  24. 24. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS TAGLIBSSERVICIOS
  25. 25. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS CLASES DE DOMINIO TAGLIBSSERVICIOS
  26. 26. VISIÓN GENERAL Uso directo Inyección SpringCONTROLADORES VISTAS CLASES DE DOMINIO TAGLIBSSERVICIOS
  27. 27. MVC: CONTROLADORES
  28. 28. MVC: CONTROLADORES
  29. 29. MVC: CONTROLADORES
  30. 30. MVC: CONTROLADORES params session request response …
  31. 31. MODELO DE DATOS: GORM
  32. 32. MODELO DE DATOS: GORM
  33. 33. MODELO DE DATOS: GORM
  34. 34. MODELO DE DATOS: GORM
  35. 35. MODELO DE DATOS: GORM Genero 1 * Película
  36. 36. SERVICIOS
  37. 37. SERVICIOS
  38. 38. SERVICIOS
  39. 39. SERVICIOS
  40. 40. SERVICIOS
  41. 41. SERVICIOS
  42. 42. SERVICIOS singleton prototype request session
  43. 43. CONTROLLER TESTS•  a
  44. 44. CONTROLLER TESTS•  a
  45. 45. CONTROLLER TESTS•  a
  46. 46. CONTROLLER TESTS: SPOCK•  a
  47. 47. GORM: TESTING•  grails-datastore-gorm-tck •  In-memory GORM implementation
  48. 48. •  constraints
  49. 49. TEST DE INTEGRACIÓN•  Arranca instancia de Grails•  Base de datos en memoria•  Environment “test”•  Cada test en una transacción
  50. 50. TEST INTEGRACIÓN: CONFIG
  51. 51. TEST INTEGRACIÓN: BOOTSTRAP
  52. 52. TEST INTEGRACIÓN: BOOTSTRAP
  53. 53. Y MUCHO MAS: SPOCK•  a
  54. 54. Y MUCHO MÁS: TEST FUNCIONALES•  a
  55. 55. ¿TE GUSTA GROOVY?En Madrid, 4 de Nov. de 2011•  Apúntate en http://greach.es
  56. 56. ¡GRACIAS! ¿Preguntas? ¿Dudas?

×