• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

305
Vistas
Reaccionar nativo con Axios: método de publicación con tiempo de espera de devolución del cuerpo

Estoy intentando crear un servidor miragejs con una solicitud posterior, pero recibo un tiempo de espera cada vez que hago una llamada. Extrañamente, los puntos finales de obtener/eliminar devuelven bien, pero los puntos finales de publicación/colocación se cuelgan indefinidamente, lo que resulta en un error de tiempo de espera de broma:

 Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Error

Mi archivo de servidor miragejs:

 import { createServer } from "miragejs"; export function startTestAPIServer() { return createServer({ namespace: "/testing", routes() { this.get("/test", (schema) => { console.log("recieved request!") return {"foo": "get testing"} }); this.post("/test", (schema, request) => { return {"foo": "post testing"} }) } }); }

Mi archivo de prueba:

 import { startTestAPIServer } from "../../content/mockAPI/testAPI" import axios from "axios" // initiate test server let server; beforeEach(() => { server = startTestAPIServer(); }) afterEach(() => { server.shutdown(); }) describe("testAPI", () => { it("returns get request", async () => { var data; await axios .get("/testing/test") .then((res) => data = res.data) .catch((err) => console.log(err)); expect(data).toEqual({"foo": "get testing"}); }) it("returns post request", async () => { var data; await axios .post("/testing/test", {}) .then((res) => data = res.data) .catch((err) => console.log(err)); expect(data).toEqual({"foo": "post testing"}); }) })

El primer caso pasa mientras que el segundo falla. No estoy seguro de lo que estoy haciendo mal que podría causar algo como esto. Estoy bastante seguro de que no es axios lo que causa el problema, ya que registré su solicitud y devoluciones, y solo se registra la solicitud. También estoy seguro de que, de hecho, se está alcanzando el punto final, ya que los registros de la consola se imprimirán desde el bloque de código del punto final, simplemente no volverá por algún motivo. No estoy seguro de si es relevante, pero también estoy ejecutando React Native.

over 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este es un problema actual con miragejs, ver aquí . cesar-medina-25 encontró una solución agregando lo siguiente al archivo de instalación de jest.

 function FormDataMock() { this.append = function () {}; } global.FormData = FormDataMock;
over 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda