✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cómo ocultar la salida de console.log de JavaScript en las pruebas de Jest

54

Estaba trabajando hoy en una base de código que tenía muchos console.logresultados intencionales en todos los entornos excepto en producción, por lo que aparecían en los resultados de las pruebas de Jest. Habría sido tedioso ir y eliminarlos uno por uno, por lo que ideé esta configuración simple para suprimir todas las console.logsalidas a la vez mientras se ejecuta Jest.

Configurando Hay

Este truco se basa en la habilidad nativa de Jest para burlarse de cualquier cosa. Lo que haremos básicamente es burlarnos del logmétodo del consoleobjeto y dejar intactos los otros métodos.

Primero debemos decirle a Jest que ejecute un archivo de instalación antes de ejecutar las pruebas. Para ello, editaremos el jest.config.jsarchivo que suele estar en la raíz de su proyecto con otras propiedades de configuración y agregaremos la siguiente línea:

setupFilesAfterEnv: ['/src/jest.setup.js']

Podemos verificar en la documentación de Jest lo que setupFilesAfterEnvhace:

Una lista de rutas a módulos que ejecutan algún código para configurar o configurar el marco de prueba antes de que se ejecute cada archivo de prueba en la suite.

Ahora, cuando ejecutemos nuestras pruebas, primero ejecutarán el jest.setup.jsque crearemos ahora.

Burlándose de console.log

Cree un archivo en src/setup.jso donde haya señalado su ruta en el paso anterior. Luego le agregarás esto:

global.console = { log: jest.fn(), debug: console.debug, trace: console.trace, }

Esto anula el logmétodo y permite a los demás. Como todavía quería tener la capacidad de generar algo en las pruebas, mapeé debugy trace. Puede asignar otros que pueda necesitar, como los console.tableque representan elementos en una tabla, útiles para registrar objetos o matrices. Para ser honesto, hasta que escribí esto, nunca había mirado la página del objeto de la consola en MDN y hay muchos métodos interesantes como el console.dirque muestra una lista interactiva de las propiedades del objeto JavaScript especificado .

palabras de cierre

Ahora su console.logsalida se suprime mientras se ejecutan sus pruebas Jest. Si trabaja en equipo, asegúrese de informar al resto del equipo sobre este cambio documentándolo, ya que alguien podría estresarse tratando de hacer console.logalgo y no verlo donde debería estar.

Fuente de grabación: startfunction.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More