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

170
Visualizações
Cómo probar useEffect Fetch con Jest en React

¿Cómo pruebo mi useEffect Fetch con Jest en React? Intenté buscar respuestas y encontré un código que copié para probar, pero sigo fallando en la prueba. No he usado Jest antes y actualmente estoy tratando de implementarlo en un código en el que estoy trabajando.

Aquí está mi prueba dentro de mi archivo test.js:

 it('Displays days from 1 to 31', async () => { expect(useEffectTest).toBe([{ day: 1 }]); });

Y aquí está el useEffect en otro componente llamado calendar.jsx:

 const useEffectTest = () => { const [daysData, setDaysData] = useState([]); useEffect(() => { fetch('http://localhost:5001/chocolates') .then((resp) => resp.json()) .then((data) => setDaysData(data)); }, []); console.log(daysData); };

Quiero probar si la API obtenida está adquiriendo estos datos de una serie de objetos:

 { day: 1, status: 'empty' || 'open' }

Gracias por cualquier ayuda de antemano.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

En primer lugar, debe actualizar su prueba unitaria para llamar a su función, así:

 it('Displays days from 1 to 31', async () => { expect(useEffectTest()).toBe([{ day: 1 }]); });

Esto se debe a expect necesita que se le pasen los datos devueltos por la función useEffectTest .

Sin embargo, esto seguirá fallando porque su función no devuelve nada. Entonces necesitamos actualizar useEffectTest para devolver daysData , así:

 const useEffectTest = () => { const [daysData, setDaysData] = useState([]); useEffect(() => { fetch('http://localhost:5001/chocolates') .then((resp) => resp.json()) .then((data) => setDaysData(data)); }, []); return daysData; };

A continuación, normalmente no queremos realizar solicitudes de red a partir de pruebas unitarias. Esto se debe a que las solicitudes de red pueden hacer que las pruebas unitarias sean lentas y frágiles. Por ejemplo, si su servidor API deja de funcionar, todavía queremos que pasen las pruebas unitarias. Para solucionar estos problemas, necesitamos simular la solicitud de recuperación. Una forma popular de simular solicitudes de búsqueda es con la biblioteca jest-fetch-mock .

about 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