• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

160
Views
¿Por qué @testing-library/user-event no puede interactuar con los elementos de entrada?

Hice un pequeño repositorio para demostrar mi problema: https://github.com/msawatzky75/user-event-input-test

Tengo algunos escenarios diferentes aquí:

  1. botón html
  2. div con controlador de clic
  3. casilla de verificación con enlace de datos que se observa
  4. entrada que se activa cada vez que se escribe en

cada uno de estos activa una solicitud de recuperación que es manejada por msw . También configuré 2 entornos DOM diferentes para ejecutar estas pruebas en: jsdom y happy-dom .

solo fallan las pruebas que interactúan con los elementos de entrada (casilla de verificación y la entrada de texto) y los resultados son consistentes en todos los entornos DOM.

Cuál es el problema aquí? ¿Es un error con @testing-library/user-event ? si no, ¿cómo se podría arreglar esto?

about 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El problema aquí es cómo se representa el componente. Más específicamente, cómo se adjunta al cuerpo del documento.

el render original es el siguiente:

 const root = document.createElement("div"); const { queryByText, getByTestId, debug } = render(BaseApp, { container: root, attachTo: document.body, });

la propiedad attachTo parece comportarse mal, pero se resuelve haciendo esto en su lugar:

 const root = document.createElement("div"); document.body.appendChild(root); const { queryByText, getByTestId } = render(BaseApp, { container: root, });

esto eleva el número de pruebas aprobadas en este ejemplo de 4/8 a 7/8, y solo falla la prueba de la casilla de verificación happy-dom.

about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error