Framework de testing en JavaScript desarrollado por Facebook, enfocado en simplicidad, rapidez y configuración cero para realizar pruebas unitarias, de integración y snapshots.
Jest es uno de los frameworks de testing más populares para JavaScript, creado y mantenido por Facebook. Destaca por su filosofía de "zero configuration", lo que significa que funciona sin necesidad de configuraciones complejas desde el primer momento. Características principales: • Configuración cero: Funciona de manera inmediata sin archivos de configuración adicionales • Velocidad: Ejecuta tests en paralelo y optimiza las pruebas más lentas primero • Snapshots: Permite capturar y comparar el estado de componentes renderizados • Mocking integrado: Incluye una librería completa de mocks, spies y stubs • Cobertura de código: Genera reportes detallados de cobertura sin herramientas adicionales • Watch mode: Detecta cambios automáticamente y re-ejecuta los tests afectados Jest es compatible con proyectos que utilizan Babel, TypeScript, Node.js, React, Angular, Vue.js y prácticamente cualquier framework JavaScript. Incluye matchers integrados (toBe, toEqual, toContain, etc.) y funciones para organizar tests (describe, it/test, beforeEach, afterEach). Es especialmente popular en el ecosistema React, aunque funciona perfectamente con cualquier código JavaScript, tanto en frontend como en backend con Node.js.
// sum.js function sum(a, b) { return a + b; } module.exports = sum; // sum.test.js const sum = require('./sum'); describe('Función sum', () => { test('suma 1 + 2 para obtener 3', () => { expect(sum(1, 2)).toBe(3); }); test('suma números negativos', () => { expect(sum(-1, -2)).toBe(-3); }); it('suma con decimales', () => { expect(sum(0.1, 0.2)).toBeCloseTo(0.3); }); }); // Ejemplo con mock functions test('mock function example', () => { const mockFn = jest.fn(x => x * 2); expect(mockFn(2)).toBe(4); expect(mockFn).toHaveBeenCalledWith(2); expect(mockFn).toHaveBeenCalledTimes(1); }); // Ejecutar tests: npm test