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

325
Vistas
¿Cómo probar que ReactDOM.render y otra función importada fueron llamadas en Jest?

Esta pregunta es similar a esta anterior que abrí. Pero ahora estoy usando un marco diferente, Jest .

Mi código es así:

 import * as React from "react"; import * as ReactDOM from "react-dom"; import * as injectTapEventPlugin from "react-tap-event-plugin"; import Application from "./components/Application"; import "./assets/styles/theme.css"; injectTapEventPlugin(); ReactDOM.render(<Application />, document.getElementById("root"));

Hay 3 cosas que me gustaría probar aquí:

  1. injectTapEventPlugin() fue llamado.
  2. Se llamó a ReactDOM.render con los argumentos esperados, <Application /> y document.getElementById("root") , respectivamente.
  3. Ese ./assets/styles/theme.css fue importado. Sé que este es extraño, pero esta importación está aquí para que el paquete web lo recoja y lo incluya en el paquete final. Tal vez esta importación no debería existir y debería asegurarme de que el archivo theme.css esté cargado de alguna otra manera.

Creo que al menos 1 y 2 deben probarse ... Jest usa Jasmine2 y también estoy usando Enzyme (pero eso probablemente no ayude aquí).

Cualquier ayuda es apreciada :)

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El problema para probar esto es que el módulo solo importa cosas pero no exporta nada, lo que dificulta la prueba. Entonces, la primera pregunta que debe hacerse es "¿Por qué necesito probar esto?". Porque lo único que sucede aquí son 2 llamadas de función.

Probar #1 es fácil, simule el módulo con un espía, impórtelo a la prueba y verifique que se haya llamado al espía

 import * as injectTapEventPlugin from "react-tap-event-plugin"; jest.mock('react-tap-event-plugin', ()=>jest.fn()) expect(injectTapEventPlugin).toHaveBeenCalled()

No estoy seguro si import * as sintaxis es un problema en este caso.

Para probar el n. ° 2, no estoy seguro de si es posible probarlo, ya que no tiene forma de simular document.getElementBy como se llama antes de poder sobrescribirlo en la prueba.

over 4 years ago · Santiago Trujillo 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