Capítulo 10.12 de nuestro curso de libro electrónico: "Creación de una API REST básica con NodeJS y ExpressJS: pruebas automatizadas". Este capítulo le enseña cómo implementar pruebas automatizadas en su API usando NodeJS y ExpressJS, una biblioteca extremadamente popular para crear API en NodeJS.
Las pruebas automatizadas son una parte crucial del desarrollo de software. Ayudan a garantizar que su código funcione correctamente y que los cambios que realice no interrumpan la funcionalidad existente. Al desarrollar una API, las pruebas automatizadas son aún más importantes ya que ayudan a garantizar que la API devuelva los datos correctos y responda correctamente a múltiples solicitudes.
Para comenzar, instalemos ExpressJS. Si ya tiene instalado NodeJS, puede instalar ExpressJS con el comando 'npm install express'. Después de la instalación, puede crear un nuevo archivo 'app.js' e importar ExpressJS con 'const express = require('express')'. Luego puede crear una nueva instancia de ExpressJS con 'const app = express()'.
Con la instancia de ExpressJS creada, puede comenzar a definir las rutas para su API. Por ejemplo, puede crear una ruta GET simple que devuelva un objeto JSON con un mensaje de bienvenida. Esto se puede hacer con el siguiente código:
aplicación.get('/', (req, res) => { res.json({ mensaje: '¡Bienvenido a nuestra API!' }); });
Con esta ruta definida, puede iniciar el servidor ExpressJS con 'app.listen(3000)', lo que hará que el servidor comience a escuchar en el puerto 3000. Ahora, si accede a 'http://localhost: 3000' en su navegador, debería ver el mensaje de bienvenida.
Ahora que tenemos una API básica funcionando, podemos comenzar a implementar pruebas automatizadas. Para ello vamos a utilizar una biblioteca llamada Jest. Jest es una biblioteca de prueba popular para JavaScript que ofrece una variedad de funciones, incluida la capacidad de simular solicitudes HTTP.
Puedes instalar Jest con 'npm install --save-dev jest'. Después de la instalación, puede crear un nuevo archivo 'app.test.js'. En este archivo vamos a importar Jest y supertest, una biblioteca que nos permite simular solicitudes HTTP.
solicitud constante = requerir('superprueba'); aplicación constante = require('./app');
Con Jest y supertest importados, podemos comenzar a escribir nuestras pruebas. Comencemos con una prueba sencilla para nuestra ruta GET. La prueba debe enviar una solicitud GET a la ruta y verificar que la respuesta sea el objeto JSON que esperamos.
prueba('OBTENER /', async() => { respuesta constante = esperar solicitud (aplicación). get ('/'); esperar(respuesta.statusCode).toBe(200); expect(response.body).toEqual({ mensaje: '¡Bienvenido a nuestra API!' }); });
Esta prueba utiliza la función 'solicitud' de supertest para enviar una solicitud GET para la ruta '/'. Luego verifica que el código de estado de respuesta sea 200, lo que indica una respuesta exitosa. También verifica que el cuerpo de la respuesta sea el objeto JSON que esperamos.
Con esta prueba implementada, puede ejecutar 'npm test' para ejecutar las pruebas. Si todo está configurado correctamente, debería ver un resultado que indique que la prueba pasó.
Las pruebas automatizadas son una parte crucial del desarrollo de API y, con NodeJS y ExpressJS, implementar estas pruebas es fácil. Sin embargo, esto es sólo el comienzo. Hay muchos otros aspectos de las pruebas que puede explorar, incluidas las pruebas unitarias, las pruebas de integración y las pruebas de carga. Pero con el conocimiento que has adquirido en este capítulo, estás bien equipado para empezar.
Esperamos que este capítulo le haya resultado útil e informativo. ¡Estén atentos al próximo capítulo donde exploraremos funciones más avanzadas de NodeJS y ExpressJS!