Unit Test
💡Es el proceso de ejecutar un programa con la meta de encontrar errores. Si la “prueba” es exitosa, entonces podemos asegurar que, alguna característica o funcionalidad, fue cubierta.
.
Para este caso, sugiero que implementen sus pruebas ya sea de unit test (función o módulo) y/o end-to-end (integración).
.
Configuración
ℹ️Repositorio: link
.
Para adicionar pruebas a nuestro código utilizamos:
.
✨Como retornamos un arreglo como data
para validar el cambio de pool podemos definir el siguiente bloque:
import supertest from 'supertest';
import app from '../src/index';
const request = supertest(app);
/**
* @description colleciton of test cases on task request
* @param {string} - case name
*/
describe('routes', () => {
describe('GET /task', () => {
it('should respond with a json', async () => {
const { status, body: response } = await request.get('/task');
expect(status).toBe(200);
expect(Array.isArray(response.data)).toBeTruthy();
});
});
});
♻️Ambas librerías para pruebas, necesitamos obtener un servidor http y express no los retorna cuando utilizamos express()
.
import express from 'express';
import task from './routes/api/task';
// code
const app = express();
// code
app.use('/task', task);
// code
if (mode !== 'test')
app.listen(port, () => listen(`⬢ Server Thingst - ${mode}`));
export default app;
🔥Evitamos que en test
no levante el servidor, ya que supertest
lo hará por nosotros.
.
♻️Actualizamos nuestro script
para leer nuestros test:
"test": "NODE_ENV=test jest test/index.test.js --forceExit",
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?