3. Indice
➔ Compilador
➔ Analisis estatico de codigo
➔ Testing
➔ Cobertura de codigo
➔ Entorno reproducible
➔ Todos los ejemplos basados en
4. Compilador
➔Groovy es fuertemente tipado
➔No puedes asignar un valor a un tipo diferente
➔Cuidado con def == Object
➔Groovy es dinamico
➔Se resuelven llamadas en tiempo de ejecucion
6. Configuracion del compilador
➔Compiler config file
➔Como escribir el fichero de configuracion
➔http://docs.groovy-lang.org/latest/html/documentation/#compilation-cust
omizers
➔Introduccion a la compilacion estatica
➔http://docs.groovy-lang.org/latest/html/documentation/#_static_compilati
on
➔Como pasar el fichero de configuracion al compilador
➔http://www.groovy-lang.org/groovyc.html
8. Analisis estatico
➔Codenarc
➔Queremos seguir poniendo restricciones a como se codifica
en nuestra aplicacion
➔“No usar servicios en nuestras clases de dominios de Grails”
➔“No usar variables def en bibliotecas que se vayan a compartir”
➔“No llamar nunca al metodo X en clases del tipo Y”
➔...etc
➔http://codenarc.sourceforge.net/
11. Testing
➔ Spock para 90% de los casos pero…
➔ A veces quieres que tus tests se compilen estaticamente
➔ No puedes deberias usar Spock
➔ Cuando ?
➔ Testeando ASTs
➔ Testeando DSLs
➔ Contribuyendo a Groovy (Only GroovyTestCase allowed)
12. Cobertura de codigo
➔Cobertura de codigo
➔Estamos testeando todo lo importante ?
➔Herramientas
➔Cobertura
➔http://cobertura.github.io/cobertura/
➔Jacoco
➔http://www.eclemma.org/jacoco/
13. Cobertura vs Jacoco con Grails 3
➔Analisis en progreso
➔http://mariogarcia.github.io/blog/blog/2017/04/grails_coverag
e.html
➔Cobertura es lo menos malo
➔Jacoco muestra todo el codigo generado por las ASTs