Sobre el proyecto

React Testing Library (RTL) es una utilidad de prueba ligera para React que promueve buenas prácticas de testing al alentar pruebas que se asemejan a cómo se usa realmente el software. Se basa en `react-dom/test-utils` y proporciona utilidades simples y completas para pruebas de DOM. El principio rector es: "Cuanto más se parezcan tus pruebas a la forma en que se usa tu software, más confianza pueden darte". Características clave: - **Consultas centradas en el usuario**: Usa funciones `getBy`, `queryBy` y `findBy` para interactuar con elementos del DOM como lo haría un usuario, con soporte para selectores regex. - **Fomenta pruebas mantenibles**: Se enfoca en la funcionalidad en lugar de los detalles de implementación, por lo que los refactors no rompen las pruebas. - **Funciona con Hooks y clases de React**: Las pruebas son las mismas independientemente de la implementación del componente. - **Ligera**: Solo expone métodos que fomentan buenas prácticas de testing. La instalación requiere `@testing-library/react` y, a partir de la versión 16, `@testing-library/dom`. Las versiones 13+ requieren React v18. Se recomienda también instalar `@testing-library/jest-dom` para matchers personalizados de Jest. El uso básico implica renderizar componentes con `render`, simular eventos con `fireEvent` y consultar elementos mediante `screen`. Ejemplos complejos demuestran cómo simular llamadas a APIs con Mock Service Worker (MSW) para flujos de inicio de sesión y manejo de errores. RTL es parte de la familia Testing Library, que incluye React Hooks Testing Library para hooks reutilizables. Es ampliamente adoptado y mantenido por una gran comunidad de contribuyentes.