[{"data":1,"prerenderedAt":263},["ShallowReactive",2],{"term-j\u002Fjest":3,"related-j\u002Fjest":246},{"id":4,"title":5,"acronym":6,"body":7,"category":227,"description":228,"difficulty":229,"extension":230,"letter":231,"meta":232,"navigation":118,"path":233,"related":234,"seo":240,"sitemap":241,"stem":244,"subcategory":6,"__hash__":245},"terms\u002Fterms\u002Fj\u002Fjest.md","Jest",null,{"type":8,"value":9,"toc":221},"minimark",[10,15,19,23,26,30,210,214,217],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"Jest is the most popular JavaScript testing framework. It does everything: runs your tests, provides expect() for assertions, mocks functions, generates coverage reports, and even has a watch mode. If you've done JS testing, you've probably used Jest.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Jest is a JavaScript testing framework developed by Meta. It provides a zero-config setup, built-in mocking, code coverage, snapshot testing, and parallel test execution. It works with Node.js, React, Vue, and most JS projects out of the box.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F jest.config.js\nmodule.exports = { testEnvironment: 'node', coverageThreshold: { global: { lines: 80 } } };\n\n\u002F\u002F user.test.js\ntest('greets user by name', () => {\n  expect(greet('Alice')).toBe('Hello, Alice!');\n});\n","javascript","",[38,39,40,49,113,120,126,156,200],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F jest.config.js\n",[41,50,52,56,59,62,66,69,72,76,79,82,85,87,89,92,94,96,99,101,105,108,110],{"class":43,"line":51},2,[41,53,55],{"class":54},"sMK4o","module.exports",[41,57,58],{"class":54}," =",[41,60,61],{"class":54}," {",[41,63,65],{"class":64},"swJcz"," testEnvironment",[41,67,68],{"class":54},":",[41,70,71],{"class":54}," '",[41,73,75],{"class":74},"sfazB","node",[41,77,78],{"class":54},"'",[41,80,81],{"class":54},",",[41,83,84],{"class":64}," coverageThreshold",[41,86,68],{"class":54},[41,88,61],{"class":54},[41,90,91],{"class":64}," global",[41,93,68],{"class":54},[41,95,61],{"class":54},[41,97,98],{"class":64}," lines",[41,100,68],{"class":54},[41,102,104],{"class":103},"sbssI"," 80",[41,106,107],{"class":54}," }",[41,109,107],{"class":54},[41,111,112],{"class":54}," };\n",[41,114,116],{"class":43,"line":115},3,[41,117,119],{"emptyLinePlaceholder":118},true,"\n",[41,121,123],{"class":43,"line":122},4,[41,124,125],{"class":47},"\u002F\u002F user.test.js\n",[41,127,129,133,137,139,142,144,146,149,153],{"class":43,"line":128},5,[41,130,132],{"class":131},"s2Zo4","test",[41,134,136],{"class":135},"sTEyZ","(",[41,138,78],{"class":54},[41,140,141],{"class":74},"greets user by name",[41,143,78],{"class":54},[41,145,81],{"class":54},[41,147,148],{"class":54}," ()",[41,150,152],{"class":151},"spNyl"," =>",[41,154,155],{"class":54}," {\n",[41,157,159,162,164,167,169,171,174,176,179,182,185,187,189,192,194,197],{"class":43,"line":158},6,[41,160,161],{"class":131},"  expect",[41,163,136],{"class":64},[41,165,166],{"class":131},"greet",[41,168,136],{"class":64},[41,170,78],{"class":54},[41,172,173],{"class":74},"Alice",[41,175,78],{"class":54},[41,177,178],{"class":64},"))",[41,180,181],{"class":54},".",[41,183,184],{"class":131},"toBe",[41,186,136],{"class":64},[41,188,78],{"class":54},[41,190,191],{"class":74},"Hello, Alice!",[41,193,78],{"class":54},[41,195,196],{"class":64},")",[41,198,199],{"class":54},";\n",[41,201,203,206,208],{"class":43,"line":202},7,[41,204,205],{"class":54},"}",[41,207,196],{"class":135},[41,209,199],{"class":54},[11,211,213],{"id":212},"when-youll-hear-this","When You'll Hear This",[16,215,216],{},"\"We use Jest for all our unit and integration tests.\" \u002F \"Jest's --watch mode is great for TDD.\"",[218,219,220],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":222},[223,224,225,226],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":212,"depth":51,"text":213},"testing","Jest is the most popular JavaScript testing framework.","beginner","md","j",{},"\u002Fterms\u002Fj\u002Fjest",[235,236,237,238,239],"Vitest","Mocha","Test Runner","Assertion","Mock",{"title":5,"description":228},{"changefreq":242,"priority":243},"weekly",0.7,"terms\u002Fj\u002Fjest","aMOjONn-wZhq7o5IpwVOLuEGmveZ-0RrADqqfGBIhu4",[247,250,254,257,260],{"title":238,"path":248,"acronym":6,"category":227,"difficulty":229,"description":249},"\u002Fterms\u002Fa\u002Fassertion","An assertion is your test saying 'I DEMAND this is true!'. It's you checking that the result is what you expected.",{"title":236,"path":251,"acronym":6,"category":227,"difficulty":252,"description":253},"\u002Fterms\u002Fm\u002Fmocha","intermediate","Mocha is an older, flexible JavaScript test runner that lets you pick your own assertion library and mocking tools.",{"title":239,"path":255,"acronym":6,"category":227,"difficulty":229,"description":256},"\u002Fterms\u002Fm\u002Fmock","A mock is a fake version of something your code talks to.",{"title":237,"path":258,"acronym":6,"category":227,"difficulty":229,"description":259},"\u002Fterms\u002Ft\u002Ftest-runner","A test runner is the thing that actually runs your tests and tells you which ones passed and which ones failed.",{"title":235,"path":261,"acronym":6,"category":227,"difficulty":229,"description":262},"\u002Fterms\u002Fv\u002Fvitest","Vitest is a blazing-fast test runner built on Vite. If Jest is the reliable sedan, Vitest is the electric sports car — same driving experience, 10x faster.",1776518290020]