Introducción Al escribir pruebas con React Testing Library muchas veces surge la duda de cómo localizar elementos de forma fiable. A continuación explico de manera clara cuándo usar las consultas más habituales y ejemplos prácticos para ayudarte a escribir tests más robustos.
getByText Usa getByText cuando buscas un elemento que coincida con un texto visible en la pantalla. Es muy útil para verificar textos estáticos en encabezados, botones o etiquetas. Ejemplo típico: screen.getByText(Hello) cuando sabes que el texto existe y la prueba debe fallar si no aparece.
getByRole getByRole localiza elementos por su rol accesible como button link heading o input. Es ideal para interactuar con botones y enlaces y para pruebas que priorizan la accesibilidad. Ejemplo: screen.getByRole(button, { name: /Submit/i }) para buscar un botón cuyo nombre coincida con la expresión regular Submit sin importar mayúsculas.
getByLabelText getByLabelText se emplea para encontrar controles de formulario a partir de su etiqueta visible. Es perfecto para inputs, textarea o selects ligados a un label. Ejemplo: screen.getByLabelText(Username) para localizar un campo cuyo label es Username.
Consejos prácticos Prefiere las queries basadas en rol y etiqueta cuando busques interactuar con componentes, y usa getByText para comprobaciones de contenido. Si el elemento puede no estar presente usa queryBy... y para operaciones asíncronas considera findBy...
Resumen Buscar por texto ? getByText · Buscar por rol ? getByRole · Buscar formularios por etiqueta ? getByLabelText
Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial y ciberseguridad. Ofrecemos soluciones de software a medida y aplicaciones a medida, servicios inteligencia de negocio y Power BI, implementación de agentes IA e ia para empresas, además de servicios cloud aws y azure y auditorías de seguridad y pentesting. Si necesitas un partner técnico que integre testing, desarrollo y despliegue en la nube visita nuestros servicios de desarrollo de aplicaciones y software a medida o conoce nuestras opciones de servicios cloud AWS y Azure para proyectos escalables y seguros.