✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

JavaScriptin console.log-tulosteen piilottaminen Jest-testeissä

8

Työskentelin tänään koodikannassa, jossa oli monia tarkoituksellisia console.logtuloksia kaikissa ympäristöissä paitsi tuotannossa, joten ne näkyivät Jest-testituloksissa. Olisi ollut tylsää poistaa ne yksitellen, joten kehitin tämän yksinkertaisen asennuksen estääkseni kaiken console.loglähdön kerralla Jestin ollessa käynnissä.

Konfigurointi On olemassa

Tämä temppu perustuu Jestin alkuperäiseen kykyyn pilkata mitä tahansa. Pohjimmiltaan teemme pilkkaa kohteen logmenetelmää consoleja jätämme muut menetelmät ennalleen.

Meidän on ensin kerrottava Jestiä suorittamaan asennustiedosto ennen testien suorittamista. Muokkaamme tätä varten jest.config.jstiedostoa, joka on yleensä projektisi juuressa ja jossa on muita määritysominaisuuksia, ja lisäämme seuraavan rivin:

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

Voimme tarkistaa Jestin dokumentaatiosta, mitä se setupFilesAfterEnvtekee:

Luettelo poluista moduuleille, jotka suorittavat jonkin koodin testauskehyksen määrittämiseksi tai määrittämiseksi ennen ohjelmistopaketin jokaisen testitiedoston suorittamista.

Nyt kun suoritamme testimme, ne suorittavat ensin sen jest.setup.js, jonka luomme nyt.

Pilkkaaminen console.log

Luo tiedosto paikassa src/setup.jstai missä osoitit polkusi edellisessä vaiheessa. Lisäät siihen sitten tämän:

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

Tämä ohittaa logmenetelmän ja sallii muut. Koska halusin silti pystyä tuottamaan jotain testeissä, kartoitin debugja trace. Voit kartoittaa muita, joita saatat tarvita, kuten console.tablehahmontaa elementtejä taulukossa, hyödyllistä kirjata objekteja tai taulukoita. Ollakseni rehellinen, ennen kuin kirjoitin tämän, en ollut koskaan katsonut konsoliobjektisivua MDN:ssä, ja siellä on monia mielenkiintoisia menetelmiä, kuten se console.dir, joka näyttää interaktiivisen luettelon määritetyn JavaScript – objektin ominaisuuksista.

Loppusanat

Nyt console.logtuloste on estetty, kun Jest-testit suoritetaan. Jos työskentelet ryhmässä, varmista, että kerrot muulle tiimille tästä muutoksesta dokumentoimalla se, koska joku saattaa stressaantua yrittäessään console.logjotain, mutta ei näe sitä siellä, missä sen pitäisi olla.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja