# ๐Ÿ›ก๏ธ [LEVEL 7] ํ…Œ์ŠคํŠธ๋ผ๋Š” ์•ˆ์ „๋ง: ๋ฒ„๊ทธ ์—†๋Š” ์ฝ”๋“œ๋ฅผ ํ–ฅํ•˜์—ฌ ## 1. "๋‚ด ์ฝ”๋“œ๋Š” ์™„๋ฒฝํ•ด"๋ผ๋Š” ์ฐฉ๊ฐ์„ ๋ฒ„๋ ค๋ผ - ์‹ค๋ฌด์ž๋Š” ์ž๊ธฐ ์ฝ”๋“œ๋ฅผ ๋ฏฟ์ง€ ์•Š๋Š”๋‹ค, **ํ…Œ์ŠคํŠธ ์ฝ”๋“œ**๋ฅผ ๋ฏฟ๋Š”๋‹ค. - `Unit Test`: ํ•จ์ˆ˜ ํ•˜๋‚˜๊ฐ€ 1+1=2๋ฅผ ๋‚ด๋ฑ‰๋Š”์ง€ ํ™•์ธ. - `Integration Test`: ์ปดํฌ๋„ŒํŠธ์™€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งŒ๋‚˜์„œ ์ž˜ ๋Œ์•„๊ฐ€๋Š”์ง€ ํ™•์ธ. ## 2. Vitest & React Testing Library (RTL) - RTL์˜ ์ฒ ํ•™: "์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋“ฏ ํ…Œ์ŠคํŠธํ•˜๋ผ." - `getByRole('button')` ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํŠผ์„ ์ฐพ๋“ฏ ์ฝ”๋“œ๋ฅผ ์งœ์•ผ ํ•œ๋‹ค. - **Tip**: ๋‚ด๋ถ€ ๊ตฌํ˜„(State ๊ฐ’ ๋“ฑ)์ด ์•„๋‹ˆ๋ผ **ํ™”๋ฉด์— ๋ฌด์—‡์ด ๋‚˜์˜ค๋Š”๊ฐ€**๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ผ. ## 3. TDD(Test Driven Development) ๋ง›๋ณด๊ธฐ - ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์“ฐ๊ณ  ์ฝ”๋“œ๋ฅผ ์งœ๋ผ. - ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ผ์ˆ˜๋ก TDD๋Š” ๋‹น์‹ ์˜ ํ‡ด๊ทผ ์‹œ๊ฐ„์„ ์•ž๋‹น๊ฒจ์ค€๋‹ค.