Upgrade to Pro — share decks privately, control downloads, hide ads and more …

El testing en JavaScript ya no es para gurús

El testing en JavaScript ya no es para gurús

El testing es uno de los conceptos más core de eXtremme Programming (XP). Ya lo decía el gran Kent Beck: Any program feature without an automated test simply doesn’t exist.

Curiosamente, JavaScript ha sido históricamente uno de los lenguajes con más frameworks de test y menos cultura de testing en su comunidad. Los frameworks han ido apareciendo y desapareciendo a la velocidad del rayo y, por fin hoy, podemos decir que tenemos una magnífica combinación de ellos que ha venido para quedarse.

Entonces, si todo ha mejorado tanto, ¿Cómo cubrimos estas necesidades de implementación de tests unitarios, de integración y de aceptación?

Pues con Jest como abanderado construir tests unitarios trabajando con matchers personalizados, creando mocks o comprobando snapshots de componentes visuales es ya algo sencillo y asequible.

A un segundo nivel y centrándonos en los tests de integración de componentes React, react-testing-library se presenta como una solución sencilla y que resuelve muchos de los problemas que teníamos con sus predecesores (aka enzyme).

Por último y a nivel del UI, lo que necesitaremos es disponer de una herramienta de diseño, depuración y ejecución de nuestros tests de accepción. Cypress es simplemente alucinante y reduce radicalmente el tiempo de construcción y mantenimiento de este tipo de tests, históricamente considerados pesados y muy frágiles. Y todo ello sin selenium!!! :)

¿Tienes ya ganas de verlo en funcionamiento sobre un ejemplo real? No te pierdas pues esta sesión repleta de código y tests en verde!!! :)

Ricardo Borillo

November 24, 2018
Tweet

More Decks by Ricardo Borillo

Other Decks in Technology

Transcript

  1. Centra tu esfuerzo de testing en features con valor de

    negocio y no clases o métodos en aislamiento
  2. Cuando tus tests más se parezcan al modo en que

    se usa tu software, más fiables serán