No estoy seguro de por qué recibo un valor nulo cuando intento 'simular' la búsqueda. Estoy usando React, junto con el punkapi. Estoy haciendo una solicitud simulada usando 'jest-fetch-mock'
fetch.mockResponseOnce(JSON.stringify([{ test: "data" }]))Esta es mi respuesta falsa. Simplemente no puedo entender por qué estoy recibiendo nulo. Los datos que recibo son un objeto dentro de una matriz, que está funcionando.
Esta es mi solicitud de búsqueda (en funcionamiento):
const random = async () => { try { const res = await fetch("https://api.punkapi.com/v2/beers/random"); const newData = await res.json(); return newData } catch (e) { return null } }; export { random }Este es mi archivo de prueba:
import { random } from "./random"; import fetch from 'jest-fetch-mock' test("collects data", async () => { fetch.mockResponseOnce(JSON.stringify([{ test: "data" }])) const data = await random() expect(data).toEqual([{ test: "data" }]) })También actualicé mi setupTest.js agregando esto.
import fetchMock from 'jest-fetch-mock' fetchMock.enableMocks()actualizar
parece que estaba devolviendo NULL desde mi intento de captura, pero mi prueba aún falla. Cannot read property 'json' of undefined es mi error que proviene de mi función asíncrona aleatoria
Entonces parece que mi solicitud simulada se estaba restableciendo. En mi paquete.json tuve que insertar esto
"jest": { "resetMocks": false },Aparentemente, CRA actualizó el valor predeterminado de falso a verdadero. pregunta / respuesta similar aquí