Jest es un popular framework de pruebas para JavaScript desarrollado por Facebook. Permite escribir y ejecutar pruebas unitarias de forma sencilla y eficiente. A continuación, te mostraré cómo empezar a realizar pruebas unitarias con Jest.
1.Instalación de Jest
Primero, necesitas instalar Jest en tu proyecto. Puedes hacerlo utilizando npm (Node Package Manager), que es parte de Node.js.
npm install --save-dev jest
2.Escribir Pruebas
Crea un archivo con el mismo nombre que el archivo que quieres probar, seguido de `.test.js`. Por ejemplo, si quieres probar `funciones.js`, el archivo de prueba debe llamarse `funciones.test.js`.
// funciones.js
function sumar(a, b) {
return a + b;
}
module.exports = sumar;
// funciones.test.js
const sumar = require('./funciones');
test('suma de 1 + 2 es igual a 3', () => {
expect(sumar(1, 2)).toBe(3);
});
3.Ejecutar las Pruebas
Puedes ejecutar las pruebas utilizando el comando `jest` en la línea de comandos. Jest buscará todos los archivos que contengan `.test.js` y ejecutará las pruebas.
npx jest
4.Matchers (Comparadores)
Jest proporciona varios comparadores para verificar el resultado de las pruebas. Algunos de ellos son:
`toBe(valor)`: Comprueba si el valor es igual al valor esperado.
`toEqual(objeto)`: Comprueba si dos objetos son iguales.
`toBeGreaterThan(valor)`, `toBeLessThan(valor)`: Comprueba si un valor es mayor o menor que otro.
test('2 es mayor que 1', () => {
expect(2).toBeGreaterThan(1);
});
5.BeforeEach y AfterEach
Jest proporciona funciones `beforeEach()` y `afterEach()` que se ejecutan antes y después de cada prueba, respectivamente. Esto es útil para inicializar y limpiar datos entre pruebas.
let contador = 0;
beforeEach(() => {
contador++;
});
afterEach(() => {
contador = 0;
});
test('el contador se incrementa en 1', () => {
expect(contador).toBe(1);
});
test('el contador se reinicia a 0', () => {
expect(contador).toBe(0);
});
Estos son los conceptos básicos para comenzar con pruebas unitarias en JavaScript utilizando Jest. A medida que avanzas, puedes explorar más funcionalidades y técnicas para realizar pruebas más complejas. ¡Sigue practicando y mejorando tus habilidades en pruebas unitarias!