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

298
Visualizações
Global beforeEach y afterEach Jest en React

Estoy usando reaccionar, así que antes de cada prueba necesito crear un elemento contenedor. Actualmente, tengo algo como esto:

 import { screen } from '@testing-library/react'; import { render, unmountComponentAtNode } from 'react-dom'; import Form from './Form'; let container: Element | null = null; // setup a DOM element as a render target beforeEach(() => { container = document.createElement('div'); document.body.appendChild(container); }); // cleanup on exiting afterEach(() => { unmountComponentAtNode(container!); container?.remove(); container = null; }) test('renders with a heading', () => { render( <Form heading={'Form Heading'} />, container ); const element = screen.getByText(/form heading/i); expect(element).toBeInTheDocument(); });

Como probablemente esperaba, necesito hacer la configuración beforeEach y afterEach para cada archivo de prueba. ¿Se puede hacer esto global (después de ser global, todavía necesitamos acceder a la variable del container )? ¡Esperamos su respuesta!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si bien esta no es técnicamente la respuesta a la pregunta que hizo, esta es la solución al problema subyacente que tiene.

Estás importando el render incorrecto:

import { render, unmountComponentAtNode } from 'react-dom';

La función de render importada de react-dom se usa para mostrar el resultado en el navegador, no para realizar pruebas.

Necesitas: import {render} from '@testing-library/react' . La biblioteca de prueba hace toda la gestión de contenedores por usted.

Si realmente necesita el contenedor para cualquier cosa, aún puede hacer:

 const {container} = render(/* ... */);

Pero la mayoría de las veces eso no es necesario.

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