Sobre o projeto

React Testing Library (RTL) é um utilitário de teste leve para React que promove boas práticas de teste ao incentivar testes que se assemelham à forma como o software é realmente usado. Ele se baseia em `react-dom/test-utils` e fornece utilitários de teste de DOM simples e completos. O princípio principal é: "Quanto mais seus testes se assemelham à forma como seu software é usado, mais confiança eles podem te dar." Os principais recursos incluem: - **Consultas centradas no usuário**: Use as funções `getBy`, `queryBy` e `findBy` para interagir com elementos do DOM como um usuário faria, com suporte a seletores regex. - **Incentiva testes de fácil manutenção**: Foca na funcionalidade em vez de detalhes de implementação, para que refatorações não quebrem os testes. - **Funciona com React Hooks e classes**: Os testes são os mesmos independentemente da implementação do componente. - **Leve**: Expõe somente métodos que incentivam boas práticas de teste. A instalação requer `@testing-library/react` e, a partir da versão 16, `@testing-library/dom`. As versões 13+ requerem React v18. Também é recomendado instalar `@testing-library/jest-dom` para matchers personalizados do Jest. O uso básico envolve renderizar componentes com `render`, simular eventos com `fireEvent` e consultar elementos via `screen`. Exemplos complexos demonstram como simular chamadas de API com Mock Service Worker (MSW) para fluxos de login e tratamento de erros. RTL faz parte da família Testing Library, que inclui React Hooks Testing Library para hooks reutilizáveis. É amplamente adotado e mantido por uma grande comunidade de colaboradores.