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

133
Vistas
El envío del formulario de prueba unitaria no se activa con un botón fuera del formulario

Estoy tratando de realizar pruebas unitarias con React Testing Library una función de envío de formularios, sin embargo, mi botón para enviar el formulario está fuera del formulario en sí, pero está vinculado a través del atributo form=... .

Aquí hay una prueba de ejemplo que está fallando:

 it('my test', () => { const formSubmit = jest.fn(() => console.log('/// Form submitted ///')); render(<div> <form id="test-form" onSubmit={formSubmit}> <button type="submit">Inside form</button> </form> <button form="test-form" type="submit">Outside form</button> </div>); // Running this line DOES print the console log correctly // userEvent.click(screen.getByText('Inside form')); // This line DOES NOT print the console log... userEvent.click(screen.getByText('Outside form')); // Clicking the outside button means this also fails. expect(formSubmit).toHaveBeenCalled(); });

¿Hay algo que me estoy perdiendo aquí?


Actualizar

Después de buscar mucho en Google, parece que este problema fue causado por usar una versión anterior de JEST para mis pruebas.

Se notó en este problema de GIT que hubo un problema con versiones anteriores de JSDOM que causó esto.

Es probable que este problema en particular se deba al uso de entornos jsdom más antiguos (a través de una broma). El error se solucionó en jsdom/jsdom#2369, que se publicó en jsdom@12.2.0

Parece que estaba usando "@testing-library/jest-dom": "^5.12.0", pero la actualización a la última ^5.16.2 no parece haber solucionado el problema.

about 4 years ago · Juan Pablo Isaza
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