Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

327
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda