[{"data":1,"prerenderedAt":365},["ShallowReactive",2],{"term-v\u002Fvitest":3,"related-v\u002Fvitest":350},{"id":4,"title":5,"acronym":6,"body":7,"category":331,"description":332,"difficulty":333,"extension":334,"letter":335,"meta":336,"navigation":127,"path":337,"related":338,"seo":344,"sitemap":345,"stem":348,"subcategory":6,"__hash__":349},"terms\u002Fterms\u002Fv\u002Fvitest.md","Vitest",null,{"type":8,"value":9,"toc":325},"minimark",[10,15,19,23,26,30,314,318,321],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"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. It's Jest-compatible (same API, same expect), so migrating is trivial. But because it uses Vite under the hood, it understands your project's config, supports TypeScript natively, and runs tests in parallel with near-instant startup.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Vitest is a Vite-native unit testing framework that provides a Jest-compatible API with significantly better performance through Vite's dev server and HMR capabilities. Features include native TypeScript\u002FESM support, in-source testing, browser mode, UI dashboard, code coverage (v8\u002Fistanbul), snapshot testing, and workspace support for monorepos. It shares Vite's config (aliases, plugins, transforms), eliminating the need for separate test configuration.",[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-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F math.test.ts\nimport { describe, it, expect } from 'vitest';\nimport { add, multiply } from '.\u002Fmath';\n\ndescribe('math', () => {\n  it('adds two numbers', () => {\n    expect(add(2, 3)).toBe(5);\n  });\n\n  it('multiplies two numbers', () => {\n    expect(multiply(4, 5)).toBe(20);\n  });\n});\n","typescript","",[38,39,40,49,94,122,129,158,182,223,233,238,260,295,304],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F math.test.ts\n",[41,50,52,56,60,64,67,70,72,75,78,81,84,88,91],{"class":43,"line":51},2,[41,53,55],{"class":54},"s7zQu","import",[41,57,59],{"class":58},"sMK4o"," {",[41,61,63],{"class":62},"sTEyZ"," describe",[41,65,66],{"class":58},",",[41,68,69],{"class":62}," it",[41,71,66],{"class":58},[41,73,74],{"class":62}," expect",[41,76,77],{"class":58}," }",[41,79,80],{"class":54}," from",[41,82,83],{"class":58}," '",[41,85,87],{"class":86},"sfazB","vitest",[41,89,90],{"class":58},"'",[41,92,93],{"class":58},";\n",[41,95,97,99,101,104,106,109,111,113,115,118,120],{"class":43,"line":96},3,[41,98,55],{"class":54},[41,100,59],{"class":58},[41,102,103],{"class":62}," add",[41,105,66],{"class":58},[41,107,108],{"class":62}," multiply",[41,110,77],{"class":58},[41,112,80],{"class":54},[41,114,83],{"class":58},[41,116,117],{"class":86},".\u002Fmath",[41,119,90],{"class":58},[41,121,93],{"class":58},[41,123,125],{"class":43,"line":124},4,[41,126,128],{"emptyLinePlaceholder":127},true,"\n",[41,130,132,136,139,141,144,146,148,151,155],{"class":43,"line":131},5,[41,133,135],{"class":134},"s2Zo4","describe",[41,137,138],{"class":62},"(",[41,140,90],{"class":58},[41,142,143],{"class":86},"math",[41,145,90],{"class":58},[41,147,66],{"class":58},[41,149,150],{"class":58}," ()",[41,152,154],{"class":153},"spNyl"," =>",[41,156,157],{"class":58}," {\n",[41,159,161,164,167,169,172,174,176,178,180],{"class":43,"line":160},6,[41,162,163],{"class":134},"  it",[41,165,138],{"class":166},"swJcz",[41,168,90],{"class":58},[41,170,171],{"class":86},"adds two numbers",[41,173,90],{"class":58},[41,175,66],{"class":58},[41,177,150],{"class":58},[41,179,154],{"class":153},[41,181,157],{"class":58},[41,183,185,188,190,193,195,199,201,204,207,210,213,215,218,221],{"class":43,"line":184},7,[41,186,187],{"class":134},"    expect",[41,189,138],{"class":166},[41,191,192],{"class":134},"add",[41,194,138],{"class":166},[41,196,198],{"class":197},"sbssI","2",[41,200,66],{"class":58},[41,202,203],{"class":197}," 3",[41,205,206],{"class":166},"))",[41,208,209],{"class":58},".",[41,211,212],{"class":134},"toBe",[41,214,138],{"class":166},[41,216,217],{"class":197},"5",[41,219,220],{"class":166},")",[41,222,93],{"class":58},[41,224,226,229,231],{"class":43,"line":225},8,[41,227,228],{"class":58},"  }",[41,230,220],{"class":166},[41,232,93],{"class":58},[41,234,236],{"class":43,"line":235},9,[41,237,128],{"emptyLinePlaceholder":127},[41,239,241,243,245,247,250,252,254,256,258],{"class":43,"line":240},10,[41,242,163],{"class":134},[41,244,138],{"class":166},[41,246,90],{"class":58},[41,248,249],{"class":86},"multiplies two numbers",[41,251,90],{"class":58},[41,253,66],{"class":58},[41,255,150],{"class":58},[41,257,154],{"class":153},[41,259,157],{"class":58},[41,261,263,265,267,270,272,275,277,280,282,284,286,288,291,293],{"class":43,"line":262},11,[41,264,187],{"class":134},[41,266,138],{"class":166},[41,268,269],{"class":134},"multiply",[41,271,138],{"class":166},[41,273,274],{"class":197},"4",[41,276,66],{"class":58},[41,278,279],{"class":197}," 5",[41,281,206],{"class":166},[41,283,209],{"class":58},[41,285,212],{"class":134},[41,287,138],{"class":166},[41,289,290],{"class":197},"20",[41,292,220],{"class":166},[41,294,93],{"class":58},[41,296,298,300,302],{"class":43,"line":297},12,[41,299,228],{"class":58},[41,301,220],{"class":166},[41,303,93],{"class":58},[41,305,307,310,312],{"class":43,"line":306},13,[41,308,309],{"class":58},"}",[41,311,220],{"class":62},[41,313,93],{"class":58},[11,315,317],{"id":316},"when-youll-hear-this","When You'll Hear This",[16,319,320],{},"\"We switched from Jest to Vitest — tests run 5x faster with zero config.\" \u002F \"Vitest shares the Vite config, so aliases and transforms just work.\"",[322,323,324],"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 .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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":326},[327,328,329,330],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":316,"depth":51,"text":317},"testing","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.","beginner","md","v",{},"\u002Fterms\u002Fv\u002Fvitest",[339,340,341,342,343],"Jest","Vite","Unit Testing","TDD","Test Runner",{"title":5,"description":332},{"changefreq":346,"priority":347},"weekly",0.7,"terms\u002Fv\u002Fvitest","hArrXcHnW1MLX_piFRPIMsKIRD3ey928a8ldgSkVIcM",[351,354,358,361],{"title":339,"path":352,"acronym":6,"category":331,"difficulty":333,"description":353},"\u002Fterms\u002Fj\u002Fjest","Jest is the most popular JavaScript testing framework.",{"title":342,"path":355,"acronym":342,"category":331,"difficulty":356,"description":357},"\u002Fterms\u002Ft\u002Ftdd","intermediate","TDD means you write the test BEFORE you write the code.",{"title":343,"path":359,"acronym":6,"category":331,"difficulty":333,"description":360},"\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":340,"path":362,"acronym":6,"category":363,"difficulty":333,"description":364},"\u002Fterms\u002Fv\u002Fvite","frontend","Vite is what happens when someone got sick of waiting 30 seconds for Webpack to start.",1776518323214]