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

196
Visualizações
Reaccionar: probar el componente de cuenta regresiva con broma (cómo esperar 1 segundo en broma cuando se usa setInterval)

Tengo un componente de cuenta regresiva básico basado en reaccionar y quiero escribir una prueba de unidad adecuada para verificar los cambios de número. hasta ahora probé de dos maneras diferentes, (la primera, es para decir en broma que voy a esperar aquí para que no se preocupen por el tiempo. y la segunda, es para burlarse de los cambios de hora). pero ninguno de ellos no tuvo éxito.

Primer enfoque:

 describe('Test CountdownTimer component', () => { jest.setTimeout(60000); test('Shoud show current time 1 second later', async done => { const { getByText } = render(<CountdownTimer initialTime={10000} />); await act(async () => { await new Promise((r) => setTimeout(r, 1000)); }) expect(getByText('00:09')).toBeTruthy(); }); });

También cansado:

 describe('Test CountdownTimer component', () => { jest.setTimeout(60000); test('Shoud show current time 1 second later', async done => { const { getByText } = render(<CountdownTimer initialTime={10000} />); await new Promise((r) => setTimeout(r, 1000)); expect(getByText('00:09')).toBeTruthy(); }); });

Segundo enfoque:

 describe('Test CountdownTimer component', () => { beforeEach(() => { jest.useFakeTimers(); }) test('Shoud show current time 1 second later', async done => { const { getByText } = render(<CountdownTimer initialTime={10000} />); act(() => { jest.advanceTimersByTime(1000); }); expect(getByText('00:09')).toBeTruthy(); }); }); // error: thrown: "Exceeded timeout of 5000 ms for a test. Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

Es interesante que no haya ningún tutorial completo o documentación bien detallada sobre las pruebas relacionadas con el tiempo en Jest. 🤔

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