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

463
Visualizações
TypeError: no se pueden leer las propiedades de undefined (leyendo 'entonces') - mientras Mocking Fetch llama en Jest

Este es el archivo que contiene la llamada de búsqueda, que solo envía un archivo json almacenado localmente.

 // eslint-disable-next-line import/prefer-default-export export const get = () => { // eslint-disable-next-line no-undef return fetch('data/posts.json').then((res) => res.json()); };

Mi prueba en la que me burlo del método de fetch y Promise.resolve una matriz simulada.

 import { get } from './posts'; const mockData = [ { "id": "ig-1", "accountId": "IG", "accountIcon": "/images/ig-icon.svg", "accountName": "IG account", "accountImageInitial": "J", "imageUrl": "/images/social_logo.png", "caption": "test", "timestamp": 1635510651638 }, { "id": "fb-1", "accountId": "FB", "accountIcon": "/images/fb-icon.svg", "accountName": "FB account", "accountImageInitial": "J", "imageUrl": "/images/social_logo.png", "caption": "test", "timestamp": 1635510051638 } ]; global.fetch = jest.fn(() => Promise.resolve({ json: () => Promise.resolve(mockData) }) ); describe('The posts API controller', () => { test('get() returns expected default payload', async () => { const result = await get(); expect(fetch).toHaveBeenCalledTimes(1); expect(result).toBeTruthy(); }); });

Error

TypeError: no se pueden leer las propiedades de undefined (leyendo 'entonces')

 TypeError: Cannot read properties of undefined (reading 'then') 2 | export const get = () => { 3 | // eslint-disable-next-line no-undef > 4 | return fetch('data/posts.json').then((res) => res.json()); | ^ 5 | };

ingrese la descripción de la imagen aquí

¿No está seguro de por qué recibo este error, ya que parece que me he burlado de la búsqueda correctamente?

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

0

Sugeriría simplemente devolver el res.json() , que en realidad ya está haciendo implícitamente. Además, después de .then() es una buena práctica tener .catch() en caso de que encuentre un error durante la búsqueda.

Entonces, intenta seguir.

 export const get = () => { fetch('https://jsonplaceholder.typicode.com/posts') .then((res) => res.json()) // this is an implicit return .catch((err) => console.log(err)); };

o usando async/await

 const get = async () => { try { const res = await fetch('https://jsonplaceholder.typicode.com/posts'); return res.json(); } catch (error) { console.log(error); } };
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