Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

126
Vistas
Compruebe si el objeto contiene un enlace en React Testing Library

Teniendo la siguiente prueba unitaria:

 const MY_URL = 'example.com' it('should render MyComponent with url', () => { const { getByTestId } = render(<MyComponent />); const myLink = getByTestId(TestIds.LINK); expect(loggingLink).toContain(MY_URL); });

La prueba falla con el siguiente mensaje:

 Expected value: "example.com" Received object: <div class="m-3" data-testid="test-link"><a href="example.com">my-link</a></div>

Entonces parece que toContain no verifica qué hay dentro de ese objeto. ¿Hay algún método para comprobar que la URL está dentro del objeto?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede obtener el elemento de anclaje con la consulta ByRole . Simplemente búsquelo con el link y luego verifique el atributo href :

 // I used screen in this case, but you can get getByRole from render. const anchorElement = screen.getByRole('link'); expect(anchorElement).toBeInTheDocument(); expect(anchorElement).toHaveAttribute('href', 'example.com');

Los elementos de anclaje tienen un rol de link solo cuando el atributo href está presente; de lo contrario, no tienen el rol correspondiente. Puedes consultar más al respecto aquí .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay un par de cosas. Primero, toContain es para probar si existe un elemento en una matriz. https://jestjs.io/docs/expect#tocontainitem

En segundo lugar, el objetivo de RTL no es probar propiedades y demás, sino probar lo que los usuarios ven en la pantalla. Así que supongo que la "manera RTL" de hacer esto sería hacer clic en el enlace y ver lo que se muestra. ¡Lo cual es cierto que no siempre es útil en todas las situaciones!

Si está absolutamente seguro de que esta URL necesita una prueba, entonces tiene una escotilla de escape a través de los selectores jsdom subyacentes de jest . Puede consultar un elemento utilizando un querySelector estándar de bog y luego probar la propiedad href directamente.

De hecho, ni siquiera necesita querySelector. Todos los métodos getBy devuelven un objeto jsdom que luego puede probar con getAttribute('href')

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda