[{"data":1,"prerenderedAt":245},["ShallowReactive",2],{"term-i\u002Fintegration-test":3,"related-i\u002Fintegration-test":230},{"id":4,"title":5,"acronym":6,"body":7,"category":211,"description":212,"difficulty":213,"extension":214,"letter":215,"meta":216,"navigation":217,"path":218,"related":219,"seo":224,"sitemap":225,"stem":228,"subcategory":6,"__hash__":229},"terms\u002Fterms\u002Fi\u002Fintegration-test.md","Integration Test",null,{"type":8,"value":9,"toc":205},"minimark",[10,15,19,23,26,30,194,198,201],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"If a unit test checks one LEGO brick, an integration test checks that two bricks actually snap together correctly. You test how different parts of your code talk to each other — like making sure your login button actually talks to your database.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Integration tests verify that multiple components or systems work correctly together. Unlike unit tests, they don't mock dependencies — they test real interactions between modules, services, databases, or APIs.",[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","test('user can log in and fetch profile', async () => {\n  const token = await loginUser('test@example.com', 'password');\n  const profile = await getProfile(token);\n  expect(profile.email).toBe('test@example.com');\n});\n","javascript","",[38,39,40,79,124,148,184],"code",{"__ignoreMap":36},[41,42,45,49,53,57,61,63,66,70,73,76],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"s2Zo4","test",[41,50,52],{"class":51},"sTEyZ","(",[41,54,56],{"class":55},"sMK4o","'",[41,58,60],{"class":59},"sfazB","user can log in and fetch profile",[41,62,56],{"class":55},[41,64,65],{"class":55},",",[41,67,69],{"class":68},"spNyl"," async",[41,71,72],{"class":55}," ()",[41,74,75],{"class":68}," =>",[41,77,78],{"class":55}," {\n",[41,80,82,85,88,91,95,98,101,103,106,108,110,113,116,118,121],{"class":43,"line":81},2,[41,83,84],{"class":68},"  const",[41,86,87],{"class":51}," token",[41,89,90],{"class":55}," =",[41,92,94],{"class":93},"s7zQu"," await",[41,96,97],{"class":47}," loginUser",[41,99,52],{"class":100},"swJcz",[41,102,56],{"class":55},[41,104,105],{"class":59},"test@example.com",[41,107,56],{"class":55},[41,109,65],{"class":55},[41,111,112],{"class":55}," '",[41,114,115],{"class":59},"password",[41,117,56],{"class":55},[41,119,120],{"class":100},")",[41,122,123],{"class":55},";\n",[41,125,127,129,132,134,136,139,141,144,146],{"class":43,"line":126},3,[41,128,84],{"class":68},[41,130,131],{"class":51}," profile",[41,133,90],{"class":55},[41,135,94],{"class":93},[41,137,138],{"class":47}," getProfile",[41,140,52],{"class":100},[41,142,143],{"class":51},"token",[41,145,120],{"class":100},[41,147,123],{"class":55},[41,149,151,154,156,159,162,165,167,169,172,174,176,178,180,182],{"class":43,"line":150},4,[41,152,153],{"class":47},"  expect",[41,155,52],{"class":100},[41,157,158],{"class":51},"profile",[41,160,161],{"class":55},".",[41,163,164],{"class":51},"email",[41,166,120],{"class":100},[41,168,161],{"class":55},[41,170,171],{"class":47},"toBe",[41,173,52],{"class":100},[41,175,56],{"class":55},[41,177,105],{"class":59},[41,179,56],{"class":55},[41,181,120],{"class":100},[41,183,123],{"class":55},[41,185,187,190,192],{"class":43,"line":186},5,[41,188,189],{"class":55},"}",[41,191,120],{"class":51},[41,193,123],{"class":55},[11,195,197],{"id":196},"when-youll-hear-this","When You'll Hear This",[16,199,200],{},"\"Integration tests caught that the API wasn't returning the right shape.\" \u002F \"Run the integration tests before merging.\"",[202,203,204],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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":81,"depth":81,"links":206},[207,208,209,210],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":28,"depth":81,"text":29},{"id":196,"depth":81,"text":197},"testing","If a unit test checks one LEGO brick, an integration test checks that two bricks actually snap together correctly.","intermediate","md","i",{},true,"\u002Fterms\u002Fi\u002Fintegration-test",[220,221,222,223],"Unit Test","End-to-End Test","Test Pyramid","Mock",{"title":5,"description":212},{"changefreq":226,"priority":227},"weekly",0.7,"terms\u002Fi\u002Fintegration-test","R8EHJgcQsiYuV1oMUDn090XnatlHPSLLbuTRZ0j_MX8",[231,235,239,242],{"title":221,"path":232,"acronym":233,"category":211,"difficulty":213,"description":234},"\u002Fterms\u002Fe\u002Fend-to-end-test","E2E","An end-to-end test is like hiring a robot to be a user.",{"title":223,"path":236,"acronym":6,"category":211,"difficulty":237,"description":238},"\u002Fterms\u002Fm\u002Fmock","beginner","A mock is a fake version of something your code talks to.",{"title":222,"path":240,"acronym":6,"category":211,"difficulty":237,"description":241},"\u002Fterms\u002Ft\u002Ftest-pyramid","The Test Pyramid is a strategy for how many of each test type to have.",{"title":220,"path":243,"acronym":6,"category":211,"difficulty":237,"description":244},"\u002Fterms\u002Fu\u002Funit-test","A unit test is like checking that one single LEGO brick isn't broken before you use it in your big castle.",1776518289070]