¿Cómo realizar pruebas unitarias a su API Express Js con Jest?
Por:
Denisse Abreu
11 de diciembre de 2022 8pm ET
Eng/Spa 5-min
Hola 👋🏼, esta es la tercera parte de mi tutorial de pruebas unitarias.
En esta ocasión, aprenderemos a probar una API Express Js.
El objetivo aquí es probar la solicitud y las respuestas de nuestra API y
asegúrese de que funcione sin problemas.
Nuestro entorno de trabajo es Express Js, Axios, Express Validator y Jest para pruebas unitarias.
¡Empecemos!
Configure su servidor Express Js.
- Comenzaremos creando una carpeta vacía e inicializando nuestro proyecto allí.
Git Bash
mkdir express-tutorial
cd express-tutorial
npm init -y
- Una vez inicializado el proyecto, instale el Express Js y el Validador Express.
Git Bash
npm i express express-validator
Vaya a la raíz del proyecto, cree una carpeta routes
y dentro crea routes.js
; este
archivo contendrá todas nuestras rutas. Aprenda más sobre el
express.Router()
Git Bash
mkdir routes
cd routes
touch routes.js
- Abra este archivo en su editor favorito y copie el siguiente código.
routes/routes.js
-
Finalmente, cree
index.js
en la raíz del proyecto y copie el siguiente código.
index.js
Realiza tu primera prueba de API.
Preparémonos para ejecutar nuestra primera prueba; instala Jest, Axios y el Nodemon; Todo en modo desarrollo. Pronto, Node podrá observar los cambios en los archivos, por lo que en el futuro no necesitarás instalar Nodemon.
Git Bash
npm i -D jest nodemon axios
Agregue los scripts a package.json
, para que
no tenga que escribir los comandos constantemente. Si quieres que la prueba
reinicie en cada cambio de archivo, agregue --watchAll
a Jest.
package.json
-
Cree una carpeta
__test__
en la raíz del proyecto, y dentro creaindex.test.js
.
Git Bash
mkdir __test__
cd __test__
touch index.test.js
__test__/index.test.js
Inicie su servidor con npm run dev
, luego
en otro terminal, ejecuta la prueba con npm test
;
asegúrese de que el código de estado (status code) devuelto por el servidor sea 200 y
que en la data esté "Hello World!"
Pruebe una ruta de inicio de sesión.
Construyamos una ruta de inicio de sesión simple para probar una solicitud HTTP POST.
Primero, agregue el siguiente código a routes.js
routes/routes.js
-
Vaya a
index.test.js
y pruebe su ruta de inicio de sesión.
__test__/index.test.js
¿Cómo probar el Express Validator?
En la última parte de este tutorial, usaremos el
Express Validator
para probar la ruta de inicio de sesión. Primero, vaya a routes.js
y modifique
la ruta de inicio de sesión. Si la validación falla, devuelve el código de error 400.
routes/routes.js
Vaya a index.test.js
y pruebe el
Express Validator. Al probar las API, no olvide verificar
códigos y mensajes de error. ¡Hasta la próxima!
__test__/index.test.js