Testeo y calidad en JavaScript

Históricamente, la parte más testeada (y la mayoría de veces la única) de las aplicaciones web siempre ha sido el código que se ejecuta en el servidor (ya sea Java, C# o cualquier otro). Existen numerosas herramientas o librerías desde hace años para hacer todo tipo de test unitarios o de integración, como pueden ser JUnit para ejecutar pruebas unitarias, Mockito para simular comportamiento de objetos, o H2 como base de datos embebida cuando buscamos hacer test de integración.

Pero ¿qué hay de los test en la parte cliente de la aplicación? en ese lado también hay un gran número de cosas que testear: lógica de negocio (cada vez más presente en la capa cliente), manipulación del DOM, aplicación de estilos, compatibilidad entre navegadores, etc.

La programación en lenguajes de lado cliente como JavaScript ha evolucionado muchísimo últimamente, y han salido numerosos frameworks que permiten realizar una programación orientada a objetos muy bien estructurada, modularizada y separada por capas como AngularJS EmberJS.

Junto a estos frameworks que facilitan la generación de código testeable han surgido frameworks de testing como Jasmine y test runners como Karma runner, y aún mejor, todo lo anterior se puede automatizar con gestores de tareas como GruntJS que permite automatizar múltiples tareas en el código cliente como: gestión de dependencias, minificación, ofuscación de código, compilación de plantillas, ejecución de test, integración continua, etc.

En mimacom hemos apostado por tecnologías como GruntJSAngularJsJasmine Karma para implementar código de alta calidad en lado cliente, por eso nos gustaría realizar una ponencia introduciendo estas tecnologías junto con la realización del algún ejemplo práctico.

Tipo: 
Ponencia
Fecha y Hora: 
Jueves, 13 Noviembre, 2014 -
16:55 a 17:30