Saltar al contenido principal

Introducción

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

El problema

Quieres escribir pruebas mantenibles para tu interfaz web. Como parte de este objetivo, necesitas que tus pruebas eviten detalles de implementación de tus componentes y en cambio se enfoquen en brindarte la confianza para la cual fueron diseñadas. Además, buscas que tu suite de pruebas sea mantenible a largo plazo, para que refactorizaciones de tus componentes (cambios en la implementación pero no en la funcionalidad) no rompan tus pruebas ni ralenticen a tu equipo.

Esta solución

DOM Testing Library es una solución ultraligera para probar nodos DOM (ya sea simulados con JSDOM como viene por defecto en Jest o en navegadores reales). Sus utilidades principales permiten consultar el DOM buscando nodos de forma similar a cómo los usuarios encuentran elementos en la página. Así, la biblioteca ayuda a garantizar que tus pruebas brinden confianza en tu código de interfaz. El principio rector fundamental de DOM Testing Library es:

Cuanto más se asemejen tus pruebas a cómo se usa tu software, más confianza podrán darte.

Como parte de este objetivo, las utilidades facilitan consultar el DOM igual que lo haría un usuario: encontrar elementos de formulario por su texto de etiqueta, localizar enlaces y botones por su texto visible, entre otros. También ofrece un método recomendado para encontrar elementos mediante data-testid como "mecanismo de escape" para casos donde el contenido textual o etiqueta no son prácticos o carecen de sentido.

Esta biblioteca fomenta aplicaciones más accesibles y permite acercar tus pruebas al uso real que haría un usuario, dando mayor confianza en que tu aplicación funcionará correctamente en producción.

Lo que esta biblioteca NO es:

  1. Un ejecutor de pruebas (test runner) ni framework de testing

  2. Exclusiva para un framework específico (aunque recomendamos Jest como preferencia, funciona con cualquier framework. Ver Uso sin Jest)