✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come nascondere l’output console.log di JavaScript nei test Jest

41

Oggi stavo lavorando in una base di codice che aveva molti console.logoutput intenzionali in tutti gli ambienti tranne la produzione, quindi venivano visualizzati nell’output dei test Jest. Sarebbe stato noioso andare e rimuoverli uno per uno e quindi ho ideato questa semplice configurazione per sopprimere tutto console.logl’output in una volta mentre Jest è in esecuzione.

Configurazione C’è

Questo trucco si basa sull’abilità nativa di Jest di deridere qualsiasi cosa. Quello che fondamentalmente faremo è deridere il logmetodo consoledell’oggetto e lasciare intatti gli altri metodi.

Dobbiamo prima dire a Jest di eseguire un file di installazione prima che i test vengano eseguiti. Per fare ciò, modificheremo il jest.config.jsfile che di solito si trova alla radice del tuo progetto con altre proprietà di configurazione e aggiungeremo la seguente riga:

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

Possiamo controllare nella documentazione di Jest cosa setupFilesAfterEnvfa:

Un elenco di percorsi per i moduli che eseguono del codice per configurare o impostare il framework di test prima dell’esecuzione di ogni file di test nella suite.

Ora, quando eseguiamo i nostri test, eseguiranno prima jest.setup.jsquello che creeremo ora.

Beffardo console.log

Crea un file in corrispondenza src/setup.jso dove hai indicato il tuo percorso nel passaggio precedente. Quindi aggiungerai questo:

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

}

Questo è ignorare il logmetodo e consentire gli altri. Dal momento che volevo ancora avere la possibilità di produrre qualcosa nei test, ho mappato debuge trace. Puoi mappare altri di cui potresti aver bisogno console.tablein questo modo rende gli elementi in una tabella, utili per registrare oggetti o array. Ad essere onesti, fino a quando non ho scritto questo, non avevo mai guardato la pagina dell’oggetto della console in MDN e ci sono molti metodi interessanti come il console.dirche mostra un elenco interattivo delle proprietà dell’oggetto JavaScript specificato.

Parole di chiusura

Ora il tuo console.logoutput viene soppresso durante l’esecuzione dei test Jest. Se lavori in un team, assicurati di informare il resto del team di questo cambiamento documentandolo poiché qualcuno potrebbe essere stressato provando console.logqualcosa e non vedendolo dove dovrebbe essere.

Fonte di registrazione: 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