Las pruebas unitarias son una parte esencial del desarrollo de software que ayuda a garantizar que las distintas partes de tu aplicación funcionen correctamente. En este tutorial, aprenderemos a escribir pruebas unitarias para un componente React utilizando Jest y @testing-library/react
.
Requisitos previos
Asegúrate de tener Node.js y npm instalados en tu máquina antes de comenzar. Puedes verificar esto ejecutando los siguientes comandos en tu terminal:
node --version npm --version
Si no los tienes instalados, puedes descargar e instalar Node.js desde https://nodejs.org/.
Configuración del Proyecto
- Crea un nuevo proyecto de React utilizando
create-react-app
:
npx create-react-app react-testing-tutorial cd react-testing-tutorial
- Instala las dependencias necesarias para las pruebas unitarias:
npm install --save-dev jest @testing-library/react @testing-library/jest-dom
Estructura del Componente
Supongamos que tenemos un componente simple de botón en Button.js
:
// src/Button.js import React from 'react'; const Button = ({ onClick, label }) => { return ( <button onClick={onClick}> {label} </button> ); }; export default Button;
Escribir Pruebas Unitarias
- Crea un archivo de prueba para el componente
Button
. LlamémosloButton.test.js
:
// src/Button.test.js import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import Button from './Button'; test('renders button with correct label', () => { const label = 'Click me'; const { getByText } = render(<Button label={label} />); const button = getByText(label); expect(button).toBeInTheDocument(); }); test('calls onClick prop when button is clicked', () => { const onClickMock = jest.fn(); const { getByText } = render(<Button label="Click me" onClick={onClickMock} />); const button = getByText('Click me'); fireEvent.click(button); expect(onClickMock).toHaveBeenCalledTimes(1); });
En este ejemplo:
- El primer caso de prueba verifica que el botón se renderice correctamente con la etiqueta proporcionada.
- El segundo caso de prueba verifica que la función
onClick
se llama correctamente cuando se hace clic en el botón.
Ejecutar las Pruebas
Asegúrate de tener el siguiente script en tu package.json
:
"scripts": { "test": "jest" }
Luego, ejecuta tus pruebas con:
npm test
Conclusiones
¡Felicidades! Ahora tienes pruebas unitarias básicas para tu componente React. Este es solo un ejemplo simple, pero a medida que tu aplicación crece, podrías agregar más pruebas para garantizar un código robusto y confiable
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.