Hooks y manejo de excepciones para TDD

| Última modificación: 31 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Los conceptos de hooks y manejo de excepciones para TDD son dos herramientas que se utilizan para el Test Driven Development (TDD) o Desarrollo Guiado por Pruebas. Son muy importantes, dado que permiten que este desarrollo guiado, formado por tres estados, se ejecute bien. Esto hará que el producto final esté perfecto tanto para los desarrolladores y creadores como para los usuarios.

Test Driven Development (TDD)

El Test Driven Development o TDD es una de las prácticas más interesantes dentro de la metodología del desarrollo de programación y del desarrollo web, pues se encarga de mejorar los procesos para obtener mejores resultados. El Desarrollo Guiado por Pruebas está formado por tres etapas, que crean una metodología cíclica. Los tres estados del Test Driven Development o TDD son:

  • Creación de test o comprobaciones.
  • Implementación de test o comprobaciones.
  • Refactorización del programa o de los componentes que se han comprobado.

El TDD se pede realizar con el lenguaje de programación JavaScript y con otras herramientas que ofrece la estrategia. En este post, vamos a hablar sobre dos de ellas: hooks y manejo de excepciones.

Hooks y manejo de excepciones para TDD

Los hooks y manejo de excepciones para TDD se definen de la siguiente forma:

Hooks en TDD

En primer lugar, los hooks en el Test Driven Development son eventos que lanza Jest al empezar a ejecutar un test individual o test unit. Estos se encargan de personalizar las acciones que se le realizan a cada test. Se sitúan a nivel de describe o a nivel de it. Los hooks en TDD son:

  • beforeAll
  • beforeEach
  • afterAll
  • afterEach

Hay hooks para cada un de los métodos, por ejemplo, en describe no hay que utilizar el beforeAll, por lo que se necesitan AfterAll, AfterIt o afterEach. Según el caso de uso, debemos saber qué hook necesitamos. Podemos utilizar AfterAll si queremos realizar un test que compruebe si verdaderamente se están ingresando registros en las bases de datos; es decir, tenemos que utilizar AfterAll para eliminar todos los registros que se han aceptado. En otros casos, podemos utilizar before it para resetear el contador de una variable o de la implementación de un objeto.

Manejo de excepciones

Por otra parte, como programadores tenemos que controlar el manejo de excepciones. Esto nos permite conocer vacíos, lo que no necesitamos o lo que nos da error pero debemos obviar. En el caso del testing de programación, podemos emplear Jest para realizar este tipo de práctica. Podremos, por ejemplo, lanzar y capturar la excepción con un status 500, es decir, establecer un controlador que lanza una error y lo captura.

Una particularidad con la que nos vamos a encontrar es que, en lugar de pasarle la ejecución del resultado esperado, le vamos a pasar el callback con un valor no directamente calculado.

Jest, entonces, nos permite evaluar las comprobaciones cuyas funciones o métodos que estamos evaluando lanzan excepciones. De este modo, la particularidad es que lo que le pasamos a expect() será un callback y no un valor calculado con anterioridad.

Así, cuando integramos los hooks y manejo de excepciones para el Test Driven Development será mucho más factible que nuestra práctica funcione de la mejor manera.

Los hooks y manejo de excepciones para TDD son dos ámbitos muy importantes para cualquier desarrollador que esté interesado en potenciar su uso de test y hacer que ellos, de alguna manera, puedan determinar una nueva metodología de trabajo. Recuerda que un buen programa debe testarse infinidad de veces para contar con un producto final perfecto.

Si quieres lograr convertirte en un experto en el sector, amplia tus conocimientos y mejora tus habilidades con nuestro Desarrollo Web Full Stack Bootcamp. Aprenderás la teoría y la práctica que te permitirán triunfar en el mercado laboral IT. ¡Entra ya para solicitar información y cambia de vida!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado