Las pruebas son una parte crucial del desarrollo de software que garantiza que su aplicación se comporte como se espera. Uno de los marcos de prueba más populares en el ecosistema de JavaScript es Jest. Desarrollado por Facebook, Jest es conocido por su simplicidad y facilidad de uso, lo que lo convierte en una excelente opción tanto para principiantes como para desarrolladores experimentados.
Comenzando con Jest
Antes de sumergirnos en los ejemplos, configuremos Jest en su proyecto. Si aún no lo has hecho, puedes instalarlo usando npm:
npm install --save-dev jest
A continuación, agregue un script de prueba a su paquete.json:
"scripts": { "test": "jest" }
¡Ahora estás listo para escribir algunas pruebas!
Creemos una función simple para probar. Crea un archivo llamado math.js:
// math.js function add(a, b) { return a b; } module.exports = add;
Ahora, escribamos una prueba para esta función. Cree un archivo llamado math.test.js:
// math.test.js const add = require('./math'); test('adds 1 2 to equal 3', () => { expect(add(1, 2)).toBe(3); });
En esta prueba, utilizamos la función de prueba para definir un caso de prueba. La función expect se utiliza para afirmar que el resultado de sumar(1, 2) es igual a 3.
Ejecución de las pruebas
Puedes ejecutar tus pruebas ejecutando el siguiente comando en tu terminal:
npm test
Deberías ver un resultado que indique que tu prueba pasó.
Prueba de código asincrónico
Jest también admite pruebas de código asincrónico. Modifiquemos nuestro archivo math.js para incluir una función asincrónica:
// math.js function fetchData() { return new Promise((resolve) => { setTimeout(() => { resolve('peanut butter'); }, 1000); }); } module.exports = { add, fetchData };
Ahora, escribamos una prueba para fetchData:
// math.test.js const { add, fetchData } = require('./math'); test('adds 1 2 to equal 3', () => { expect(add(1, 2)).toBe(3); }); test('fetches data', async () => { const data = await fetchData(); expect(data).toBe('peanut butter'); });
En esta prueba, marcamos la función de prueba como asíncrona y usamos await para esperar a que se resuelva la promesa.
Funciones de burla
Jest proporciona poderosas capacidades de burla. Digamos que tiene una función que realiza una llamada a la API. Puedes burlarte de esta función para controlar su comportamiento durante las pruebas.
Aquí tienes un ejemplo:
// api.js const axios = require('axios'); async function getUser() { const response = await axios.get('https://api.example.com/user'); return response.data; } module.exports = getUser;
Puedes burlarte de axios en tu prueba:
// api.test.js const axios = require('axios'); const getUser = require('./api'); jest.mock('axios'); test('fetches user data', async () => { const user = { name: 'John Doe' }; axios.get.mockResolvedValue({ data: user }); const result = await getUser(); expect(result).toEqual(user); });
En esta prueba, simulamos el método axios.get para devolver una respuesta predefinida, lo que nos permite probar getUser sin realizar una llamada API real.
Jest es un potente marco de pruebas que facilita la escritura y ejecución de pruebas para sus aplicaciones JavaScript. Con su sintaxis simple, soporte para código asincrónico y capacidades de simulación integradas, Jest puede ayudarlo a garantizar que su código sea confiable y fácil de mantener. Comience a integrar Jest en sus proyectos hoy y disfrute de los beneficios de las pruebas automatizadas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3