Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

255
Vistas
¿Cómo puedo deshabilitar un simulacro de broma para una prueba en particular?

He creado un simulacro de trabajo para Axios:

 // __mocks__/axios.js // Based on https://jestjs.io/docs/manual-mocks const axios = jest.createMockFromModule("axios"); const log = console.log.bind(console); axios.create = () => { log(`Running axios.create`); return { get: () => { log(`Running get`); return { status: 500, statusText: "Internal Server Error", body: { onFire: "Mock API response from mock axios module", }, }; }, }; }; module.exports = axios;

Esto funciona bien en mis pruebas: el simulacro se carga automáticamente y la prueba 'arroja un error' funciona:

 describe(`getLatestPrice`, () => { it(`throws an error when the response is bad`, async () => { expect(() => { log(`Should throw`); return getLatestPrice(assetCode); }).toThrow(); }); it(`gets a single price by stream code`, async () => { // Disabling the mock isn't working jest.unmock("axios"); const price = await getLatestPrice(assetCode); log(`price`, price); expect(price).toEqual({ ... }); }); })

Sin embargo, la segunda prueba, que llama a jest.unmock() , todavía usa la biblioteca simulada.

¿Cómo puedo deshabilitar la burla para una sola prueba?

Actualización: leyendo https://github.com/facebook/jest/issues/2649 También intenté usar requireActual() para anular el simulacro:

 const actualAxios = jest.requireActual("axios"); const mockAxios = require("axios"); mockAxios.create = actualAxios.create;

Pero las llamadas a axios.create() aún involucran el simulacro.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El estilo de burla que realizas es burla global. Todas las pruebas que utilizan las instancias "axios" en esencia están programadas para devolver una respuesta 500. Para lograr un comportamiento por prueba, deberá simular "axios" localmente en la prueba. Luego, puede arreglar su simulacro en cada prueba para que responda de la manera que espera.

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda