Unit Test en Node.js

Álvaro José Agámez Licha

Senior Software Developer

https://github.com/aagamezl

https://twitter.com/aagamezl

Agenda

  1. ¿Quien Soy Yo?
  2. ¿Qué es Unit Test?
  3. Buenas Prácticas
  4. Veamos el Código en Práctica

Quien Soy Yo

Ingeniero en Informática con más de 18 años de experiencia en el desarrollo de software enfocado en la web, he trabajado en diferentes roles como Fullstack, Frontend, Backend y Tech Lead.

 

Para mi el Desarrollo de Software es una pasión y desde siempre tuve claro que esta era la única área a la que me quería dedicar dentro del mundo de la tecnología; además siempre me he preocupado por la calidad del software, patrones de diseño, arquitectura y buenas prácticas.

 

Desde hace 1 año resido en Suecia y me desempeño como Senior Software Engineer.

¿Qué es Unit Test?

Una prueba de unidad es una forma de probar una unidad: la pieza de código más pequeña que se puede aislar lógicamente en un sistema. En la mayoría de los lenguajes de programación, eso es una función, una subrutina, un método o una propiedad. La parte aislada de la definición es importante.

¿Qué es Unit Test?

Una prueba de unidad es una forma de probar una unidad: la pieza de código más pequeña que se puede aislar lógicamente en un sistema. En la mayoría de los lenguajes de programación, eso es una función, una subrutina, un método o una propiedad. La parte aislada de la definición es importante.

Ventajas

Las pruebas unitarias encuentran problemas al principio del ciclo de desarrollo. Esto incluye tanto errores en la implementación del programador como fallas o partes faltantes de la especificación de la unidad.

Las pruebas unitarias permiten al programador refactorizar el código y asegurarse de que el módulo aún funcione correctamente (por ejemplo, en las pruebas de regresión). Las pruebas unitarias detectan cambios que pueden romper un contrato de diseño.

Ventajas

Las pruebas unitarias proporcionan una especie de documentación viva del sistema. Los desarrolladores que buscan saber qué funcionalidad proporciona una unidad y cómo usarla, pueden consultar las pruebas unitarias para obtener una comprensión básica de la interfaz de la unidad (API).

Desventajas

Las pruebas no detectarán todos los errores del programa, porque no pueden evaluar todas las rutas de ejecución excepto en los programas más triviales.

 

Una jerarquía elaborada de pruebas unitarias no equivale a pruebas de integración. La integración con unidades periféricas debe incluirse en las pruebas de integración, pero no en las pruebas unitarias.

Tipos de Test

Buenas Prácticas

  1. Escribir código testeable
  2. Escribir pruebas que no solo cubran el happy path.
  3. Dar una descripción adecuada a las pruebas para ayudar a identificarlas fácilmente.
Made with Slides.com