Para testar promesas en JS (JavaScript) es necesario entender cuál es su importancia y por qué es necesario revisar que las respuestas a las peticiones que realizamos son totalmente correctas. Esto nos ayudará a seguir desarrollando nuestro programa de código y a realizar tests de forma eventual. Por eso, en este artículo nos enfocaremos en su relevancia y en los distintos métodos para testar promesas en JS.
¿En qué consiste Jest?
Como te comentamos en el artículo sobre unit testing con Jest, esta es una herramienta perfecta para desarrollar comprobaciones, lo que la convierte en una de las más famosas entre los desarrolladores. Algunos de los beneficios más importantes que posee Jest son:
- La herramienta tiene una sintaxis muy clara.
- Los contextos de Jest son únicos.
- Puedes hacer comprobaciones totalmente descriptivas, lo que facilitará el entendimiento y la reproducción de los test en los repositorios.
Testar promesas en JS
En nuestro código tenemos partes que son asíncronas, por lo que debemos saber cómo testar las promesas. Estos componentes externos no los conocemos en profundidad, así que es necesario saber cómo actúan y si pueden cumplir las hipótesis que planeamos dentro de nuestro programa de código.
Cuando lo necesitamos, hacemos una petición externa para obtener datos. Así, llegamos al punto en el que tenemos que testar que nos devuelve una promesa y si verdaderamente está resolviendo el problema o cumpliendo con el objetivo.
Debemos tener presente si nuestra petición devuelve el status 200 o si rechaza la promesa con un status 400. Entonces, tanto la aceptación de la promesa o el rechazo de la promesa deben testarse con las herramientas que incluye Jest.
Si usamos una API específica, no necesitamos testar lo que está haciendo o devolviendo, por lo tanto, debemos testar la promesa en sí. En términos más sencillos, cuando tenemos un servicio de terceros, no tenemos que testar si ellos hacen lo que dicen hacer, es decir, si cumplen sus procesos en su mismo ambiente. En su lugar, debemos evaluar el endpoint. Es decir, debemos testar que nuestro código funciona y si pasa los test correctamente al usar dichos recursos de terceros. En conclusión, no debemos testar los recursos en sí.
¿Cómo testar las promesas?
Ahora que ya conocemos por qué es tan importante realizar comprobaciones de las promesas que le hacemos a dispositivos externos, es necesario saber cómo hacerlo. Para testar las promesas, Jest ofrece un par de soluciones, que te vamos a presentar a continuación:
- Por un lado, tendrás que invocar las funciones que devuelven promesas y testar su correcta manipulación y la transformación que realizan, así como comprobar la manipulación que hacemos de los datos que nos devuelve.
- Por otro lado, para poder testar las promesas, debemos saber que hay muchas maneras de hacerlo. Sin embargo, hay un par de métodos que son inherentes a la documentación de Jest. Primero encontramos el método .resolves, que se utiliza para evaluar cuándo la promise o promesa se resuelve, y .rejects, para cuando la promesa se rechaza.
Ahora que sabes todo esto, no dejes de testar promesas en JS, pues no hacerlo puede generar problemas relacionados con el desarrollo y el alcance de los objetivos.
Ya sabes cuál es nuestro consejo final: siempre debes testar promesas en JS (JavaScript). De este modo, podrás controlar los datos externos que obtengamos una vez hagamos llamadas a nuestras API. Si quieres aprender mucho más sobre este tema y otros relacionados con el sector, no puedes faltar a nuestro Desarrollo Web Full Stack Bootcamp, la formación intensiva e íntegra que te cambiará la vida en cuestión de meses. ¡Accede ya y pide más información!