{"id":232296,"date":"2023-01-12T14:51:00","date_gmt":"2023-01-12T11:51:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232296"},"modified":"2022-11-10T08:32:46","modified_gmt":"2022-11-10T05:32:46","slug":"javascriptin-console-log-tulosteen-piilottaminen-jest-testeissae","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/javascriptin-console-log-tulosteen-piilottaminen-jest-testeissae\/","title":{"rendered":"JavaScriptin console.log-tulosteen piilottaminen Jest-testeiss\u00e4"},"content":{"rendered":"\n<p>Ty\u00f6skentelin t\u00e4n\u00e4\u00e4n koodikannassa, jossa oli monia tarkoituksellisia <code>console.log<\/code>tuloksia kaikissa ymp\u00e4rist\u00f6iss\u00e4 paitsi tuotannossa, joten ne n\u00e4kyiv\u00e4t Jest-testituloksissa. Olisi ollut tyls\u00e4\u00e4 poistaa ne yksitellen, joten kehitin t\u00e4m\u00e4n yksinkertaisen asennuksen est\u00e4\u00e4kseni kaiken <code>console.log<\/code>l\u00e4hd\u00f6n kerralla Jestin ollessa k\u00e4ynniss\u00e4.<\/p>\n<h2>Konfigurointi On olemassa<\/h2>\n<p>T\u00e4m\u00e4 temppu perustuu Jestin alkuper\u00e4iseen kykyyn pilkata mit\u00e4 tahansa. Pohjimmiltaan teemme pilkkaa kohteen <code>log<\/code>menetelm\u00e4\u00e4 <code>console<\/code>ja j\u00e4t\u00e4mme muut menetelm\u00e4t ennalleen.<\/p>\n<p>Meid\u00e4n on ensin kerrottava <a href=\"https:\/\/startfunction.com\/tag\/jest\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jesti\u00e4<\/a> suorittamaan asennustiedosto ennen testien suorittamista. Muokkaamme t\u00e4t\u00e4 varten <code>jest.config.js<\/code>tiedostoa, joka on yleens\u00e4 projektisi juuressa ja jossa on muita m\u00e4\u00e4ritysominaisuuksia, ja lis\u00e4\u00e4mme seuraavan rivin:<\/p>\n<pre><code>setupFilesAfterEnv: ['\/src\/jest.setup.js']<\/code><\/pre>\n<p>Voimme tarkistaa <a href=\"https:\/\/jestjs.io\/docs\/configuration#setupfilesafterenv-array\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jestin dokumentaatiosta<\/a>, mit\u00e4 se <code>setupFilesAfterEnv<\/code>tekee:<\/p>\n<blockquote>\n<p>Luettelo poluista moduuleille, jotka suorittavat jonkin koodin testauskehyksen m\u00e4\u00e4ritt\u00e4miseksi tai m\u00e4\u00e4ritt\u00e4miseksi ennen ohjelmistopaketin jokaisen testitiedoston suorittamista.<\/p>\n<\/blockquote>\n<p>Nyt kun suoritamme testimme, ne suorittavat ensin sen <code>jest.setup.js<\/code>, jonka luomme nyt.<\/p>\n<h2>Pilkkaaminen console.log<\/h2>\n<p>Luo tiedosto paikassa <code>src\/setup.js<\/code>tai miss\u00e4 osoitit polkusi edellisess\u00e4 vaiheessa. Lis\u00e4\u00e4t siihen sitten t\u00e4m\u00e4n:<\/p>\n<pre><code>global.console = {\n    log: jest.fn(),\n    debug: console.debug,\n    trace: console.trace,\n\n}\n<\/code><\/pre>\n<p>T\u00e4m\u00e4 ohittaa <code>log<\/code>menetelm\u00e4n ja sallii muut. Koska halusin silti pysty\u00e4 tuottamaan jotain testeiss\u00e4, kartoitin <code>debug<\/code>ja <code>trace<\/code>. Voit kartoittaa muita, joita saatat tarvita, kuten <code>console.table<\/code>hahmontaa elementtej\u00e4 taulukossa, hy\u00f6dyllist\u00e4 kirjata objekteja tai taulukoita. Ollakseni rehellinen, ennen kuin kirjoitin t\u00e4m\u00e4n, en ollut koskaan katsonut <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/console\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">konsoliobjektisivua MDN:ss\u00e4,<\/a> ja siell\u00e4 on monia mielenkiintoisia menetelmi\u00e4, kuten se <code>console.dir<\/code>, joka n\u00e4ytt\u00e4\u00e4 interaktiivisen luettelon m\u00e4\u00e4ritetyn <a href=\"https:\/\/startfunction.com\/category\/javascript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JavaScript<\/a> &#8211; objektin ominaisuuksista.<\/p>\n<h2>Loppusanat<\/h2>\n<p>Nyt <code>console.log<\/code>tuloste on estetty, kun Jest-testit suoritetaan. Jos ty\u00f6skentelet ryhm\u00e4ss\u00e4, varmista, ett\u00e4 kerrot muulle tiimille t\u00e4st\u00e4 muutoksesta dokumentoimalla se, koska joku saattaa stressaantua yritt\u00e4ess\u00e4\u00e4n <code>console.log<\/code>jotain, mutta ei n\u00e4e sit\u00e4 siell\u00e4, miss\u00e4 sen pit\u00e4isi olla.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Opi est\u00e4m\u00e4\u00e4n ei-toivottujen console.log()-kutsujen tulos Jest-testeiss\u00e4si.<\/p>\n","protected":false},"author":1,"featured_media":236170,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[750,1018,730,719,895],"tags":[1166],"class_list":["post-232296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-avoin-laehdekoodi","category-hyodyllisia-sivustoja","category-javascript-5","category-kehittaejae","category-koodi","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=232296"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232296\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/236170"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}