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

648
Vistas
Broma: mejor manera de deshabilitar la consola dentro de las pruebas unitarias

Me pregunto si hay una mejor manera de deshabilitar los errores de la consola dentro de una prueba de Jest específica (es decir, restaurar la consola original antes o después de cada prueba).

Aquí está mi enfoque actual:

 describe("Some description", () => { let consoleSpy; beforeEach(() => { if (typeof consoleSpy === "function") { consoleSpy.mockRestore(); } }); test("Some test that should not output errors to jest console", () => { expect.assertions(2); consoleSpy = jest.spyOn(console, "error").mockImplementation(); // some function that uses console error expect(someFunction).toBe("X"); expect(consoleSpy).toHaveBeenCalled(); }); test("Test that has console available", () => { // shows up during jest watch test, just as intended console.error("test"); }); });

¿Hay una forma más limpia de lograr lo mismo? Me gustaría evitar spyOn , pero parece que mockRestore solo funciona con él .

¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para un archivo de especificaciones en particular, el de Andreas es lo suficientemente bueno. La configuración a continuación suprimirá las declaraciones de console.log para todos los conjuntos de pruebas,

 jest --silent

(o)

Para personalizar warn, info and debug , puede usar la siguiente configuración

tests /setup.js o jest-preload.js configurados en setupFilesAfterEnv

 global.console = { ...console, // uncomment to ignore a specific log level log: jest.fn(), debug: jest.fn(), info: jest.fn(), // warn: jest.fn(), // error: jest.fn(), };

jest.config.js

 module.exports = { verbose: true, setupFilesAfterEnv: ["<rootDir>/__tests__/setup.js"], };
over 4 years ago · Santiago Trujillo Denunciar

0

Si quieres hacerlo solo para una prueba específica:

 beforeEach(() => { jest.spyOn(console, 'warn').mockImplementation(() => {}); });
over 4 years ago · Santiago Trujillo Denunciar

0

Como cada archivo de prueba se ejecuta en su propio subproceso, no es necesario restaurarlo si desea deshabilitarlo para todas las pruebas en un solo archivo. Por la misma razón, también puedes simplemente escribir

 console.log = jest.fn() expect(console.log).toHaveBeenCalled();
over 4 years ago · Santiago Trujillo 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