์ค๋ฌด์ ๋ฐ๋ก ์ ์ฉํ๋ ํ๋ฐํธ์๋ ํ ์คํธ - 1๋ถ. ํ ์คํธ ๊ธฐ์ด: ๋จ์ใปํตํฉ ํ ์คํธ
์ด ๊ฐ์๋ฅผ ํตํด ์ ๋ฐ์ ์ธ ํ๋ฐํธ์๋ ํ ์คํธ ์ข ๋ฅ๋ฅผ ํ์ ํ๊ณ , ์ํฉ์ ๋ง๋ ์ ์ ํ ํ ์คํธ ์ ํ์ ํตํด ์ ๋ขฐ๊ฐ ์๋ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
์๊ฐ์ 1,072๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ํด๊ฒฐ
mockZustand
์๋ ํ์ธ์.๊ฐ์ ๋๋ฌด ์ ๋ณด๊ณ ์์ต๋๋ค. ํ ๊ฐ์ง ๊ถ๊ธํ ์ ์ด ์์ด์ QnA๋จ๊น๋๋ค.// __mocks__/zustand.js cons
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestCoi
ใป
2๋ฌ ์
0
66
2
- ๋ฏธํด๊ฒฐ
ํ๋ก์ ํธ ์ธํ ์ค๋ฅ ๋ฐ ๋ฒ์ ์ค๋ฅ ๋ฌธ์ ๋ฌธ์
์๋ ํ์ธ์ ๊ฐ์๋ฅผ ๋ณด๋ฉฐ ํ๋ก์ ํธ ์ธํ ์ ํ๋ฉด์ ๊ถ๊ธํ ์ ์ด ์์ด ์ฌ์ญค๋ด ๋๋ค.์์ ํ๋ก์ ํธ์ ๊ฐ์๊ฐ ์ ๋ฐ์ดํธ ๋ ์์ ์ ์์๊น์?์ ์ฒด์ ์ธ Dependencie๋ค์ด ์๋ ๋ฒ์ ์ด๋ผ ์์ ํ๋ก์ ํธ๋ค
์ํํธ์จ์ด-ํ ์คํธvitest๊น์๋ก
ใป
3๋ฌ ์
0
95
2
- ํด๊ฒฐ
toggleIsModalOpened ํ ์คํธ ํ ๋ ๊ถ๊ธํ ์ ์ด ์์ต๋๋ค.
์ ์๊ฐ์๋ ๋จ์ํ true๊ฐ ๋จ์ ํ ์คํธ ํ ๊ฒ์ด ์๋ false => true => false์ ๊ฐ์ ํ ์คํธ ๋จ๊ณ๊ฐ ํ์ํ๋ค๋ ์๊ฐ์ด ๋๋๋ฐ ์ด๋ฐ ์ฐ์์ ์ธ ํ ์คํธ๋ ์ด๋ค ์์ผ๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์๊ฐ์?<b
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestkangwoo_eum
ใป
3๋ฌ ์
0
42
2
- ๋ฏธํด๊ฒฐ
๋ก๋ฉ/์๋ฌ์ฒ๋ฆฌ ๊ฒ์ฆ์ ์ด๋ป๊ฒ ํ๋๊ฒ ์ข์๊น์?
์๋ ํ์ธ์. API ์์ฒญ์ด ํฌํจ๋ ์ปดํฌ๋ํธ๋ฅผ ๋์์ผ๋ก ๋จ์/ํตํฉ ํ ์คํธํ ๋ ์์ฒญ ์ํ์ ๋ฐ๋ผ ๋ก๋ฉ, ์๋ฌ UI๊ฐ ์ ์ ํ๊ฒ ๋ ๋๋ง ๋๋์ง๋ ๊ฒ์ฆ์ ํด์ผํ๋์ง ๊ถ๊ธํฉ
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestEUNSUN KIM
ใป
4๋ฌ ์
0
65
1
- ๋ฏธํด๊ฒฐ
ํตํฉ ํ ์คํธ์์ API ์์ฒญ์ ๋ํ ๊ฒ์ฆ์ ์ด๋ฃจ์ด์ง์ง ์์๋ ๊ด์ฐฎ์๊น์?
FE์์ ๋ชจํน์ ํฌํจํ ํตํฉ ํ ์คํธ๋ฅผ ์งํํ ๋, API ์์ฒญ ์ ๊น์ง์ ๋์<p style="text-
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestSeunghyun Kim
ใป
5๋ฌ ์
0
69
2
- ๋ฏธํด๊ฒฐ
lint์๋ฌ..
await render(); expect(screen.getByPlaceholderText('ํ ์คํธ๋ฅผ ์ ๋ ฅํด ์ฃผ์ธ์.')).toHaveClass( 'my-class',
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitesttono
ใป
5๋ฌ ์
0
72
1
- ๋ฏธํด๊ฒฐ
๋จ์ธ๋ฌธ ์์์ ๋ฐ๋ผ ํ ์คํธ ๊ฒฐ๊ณผ๊ฐ ์ ๋ฌ๋ผ์ง๋์?
expect(screen.getByTestId('cart-icon')).toBeInTheDocument(); expect( await screen.findByRole('button', { name: 'Maria' }), ).toBe
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestEinere
ใป
10๋ฌ ์
0
108
2
- ๋ฏธํด๊ฒฐ
useNavigate ํ ์คํธ ์, ๊ฒ์ฆ ๋์ ์ง๋ฌธ์ ๋๋ค.
๋ค๋ก ์ด๋ ๋ฒํผ์ ๋๋ฌ ํ์ด์ง ์ ํ์ด ์ ๋์์์ ๊ฒ์ฆํ๊ณ ์ถ์ผ๋ฉด history web api ๋ฑ์ ์ด์ฉํด์ ๊ฒ์ฆํ๋๊ฒ ๋ ์ฌ๋ฐ๋ฅด์ง ์๋์??์ useNaviga
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestEinere
ใป
์ผ ๋ ์
0
113
2
- ๋ฏธํด๊ฒฐ
๊ฐ์ ์์ํ๋ก์ ํธ ์ ๋ฐ์ดํธ์ข ๋ถํ๋๋ฆฝ๋๋ค.
์๋๋ฉด ๊ฐ์ ์ค๋ช ๋์์์ํ๋ก์ ํธ ์ด๊ธฐ๋ฒ์ ์ธํ ๋ฑ ๊ฐ์ข ํ๋ก์ ํธ ์ค์ ์ ์๋ ฅ์ผ๋ก ํด์ผํ๋ค. ๋ผ๋ ์๋ด๋ฌธ๊ตฌ๋ผ๋ ์กด์ฌํ๋ฉด ์ข๊ฒ ์ต๋๋ค.
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest์์ฑ์ ์์
ใป
์ผ ๋ ์
2
165
2
- ๋ฏธํด๊ฒฐ
ํตํฉํ ์คํธ์ ๋จ์ํ ์คํธ ํ์ผ ๋ถ๋ฆฌ
ํตํฉ ํ ์คํธ์ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ ๋ ๋ฐ๋ก ํ์ผ ๊ตฌ๋ถ ์์ด ์์ฑํ๋๊ฒ ์ผ๋ฐ์ ์ธ๊ฐ์?
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest๊น์๋ฏผ
ใป
์ผ ๋ ์
0
108
1
- ๋ฏธํด๊ฒฐ
grid ์์์ margin์ ์ด๋์ ์ค์ ๋์ด์๋๊ฑด๊ฐ์ ?
์ฐพ์๋ณด๋ ์์๋ณด์ฌ์ ๋ค๋น๊ฒ์ด์ ๋ฐ์ ํํฐ๋ถํฐ ์ ์ฒด ๋ง์ง ์์์ผ๋ก ๋จน์ด์ง๊ฑฐ ...๋ก์ฐ๋น ๊ทธ๋ฆฌ๋ ๊ฐ์ ์ค์ ์ด๋ ..
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestwjdgksak
ใป
์ผ ๋ ์
0
131
1
- ๋ฏธํด๊ฒฐ
vitest ์ค์นํ๋๋ฐ
<img src="https://cdn.inflearn.com/public/files/posts/2f591639-85ca-4ed6-9a4b-1ed34744f750/d5f964a4-24e9-49fe-9179-1d5683407b3e.png" media-type="img"
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest์์ฑ์ ์์
ใป
0
206
2
- ๋ฏธํด๊ฒฐ
2๋ถ ํ ์ธ์ฟ ํฐ ๊ด๋ จ
์๋ ํ์ธ์.์ ๊ณตํด์ฃผ์ ์ธ๊ฐ์ผ๋ก ํ๋ก ํธ์๋ ํ ์คํธ๋ฅผ ๊ณต๋ถํ๊ณ ์๋ ์๊ฐ์์ ๋๋ค. ์ต๊ทผ ์ผ์ด ๋ง์์ ธ ์ธ๊ฐ ๋ฃ๋ ์๊ฐ์ ํ ์ ํ์ง ๋ชปํ์์ง๋ง ์ด๋ฒ ์ค ์ฐํด๋ฅผ ๋ง์ดํ์ฌ 1ํธ ๋ค๋ณด๊ณ 2ํธ๊น์ง ๋ณด๋ ค๊ณ ํ๋๋ฐ ์ ๊ฐ ์ค์๋ก ํ ์ธ ์ฟ ํฐ
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest์ดํํธ
ใป
0
176
1
- ๋ฏธํด๊ฒฐ
์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ
[0] Failed running 'server/index.js' [1] [1] VITE v4.4.4 ready in 271 ms [1] [1] โ Local: http://localhost:5173/ [1] โ Ne
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest๊น์ฉ๋ฏผ
ใป
0
406
2
- ํด๊ฒฐ
์ง์ ๊ตฌํํ atom ์ปดํฌ๋ํธ ํ ์คํธ ๋ฒ์ ์ง๋ฌธ
์๋ ํ์ธ์ ์ ์๋ ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค.์ง์ ๊ตฌํํ atom ์ปดํฌ๋ํธ๋ค์ ํ ์คํธ ๋ฒ์์ ๋ํ์ฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค.Typography, Badge, Divider์ ๊ฐ์ด ๋ณ๋์ ๋ก์ง์ด ์กด์ฌํ์ง ์๋ ์ปดํฌ๋ํธ๋ค์ ProductInfoArea์ฒ๋ผ
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest๋ฉ๊ฐ
ใป
0
175
1
- ๋ฏธํด๊ฒฐ
setup, teardown ๋์ ์์
์๋ ํ์ธ์!setup, teardown ๊ฐ์๋ฅผ ๋ณด๋ฉฐ ์ค์ตํ๊ณ ์์ต๋๋ค.beforeAll ๋ด์ console์ด ์ฒซ๋ฒ์งธ๋ก ์ฐํ๋ค๊ฐ afterAll๊ณผ ํจ๊ป ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ afterAll ๋ฐ๋ก ์ง์ (๋ง์ง๋ง ๋ฐ๋ก ์)์ ์ฐํ๊ณ ์์ต๋๋ค.
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestdony
ใป
0
211
1
- ๋ฏธํด๊ฒฐ
debounce ํจ์ ํ ์คํธ ์ ํ๋ ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์. debounce ํจ์ ํ ์คํธ ๊ด๋ จ ๊ฐ์๋ฅผ ๋ณด๊ณ ๊ถ๊ธํ ์ ์ด ์์ด ๋ฌธ์๋๋ฆฝ๋๋ค. debouncedFn์ด 300ms์ด ์ง๋ ํ ์คํ๋์ด์ผ ํจ์ ํ ์คํธํ ๋, ๊ธฐ์กด์ ์์ฑํด์ฃผ์ ๊ฒ ์ฒ๋ผ ํ ์คํธํ ์์๋ ํจ์๊ฐ 300ms
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest๋ฐ์ผ์
ใป
0
176
2
- ๋ฏธํด๊ฒฐ
ProductFilter test ์ด๋ค ๋ฐฉ์์ด ๋ ์ ํธ๋๋ ๋ฐฉ์์ผ๊น์?
it('์ต์ ๊ฐ๊ฒฉ ๋๋ ์ต๋ ๊ฐ๊ฒฉ์ ์์ ํ๋ฉด setMinPrice๊ณผ setMaxPrice ์ก์ ์ด ํธ์ถ๋๋ค.', async () => { const { user } = await render();
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest์ค์
ใป
0
204
2
- ํด๊ฒฐ
ํตํฉ ํ ์คํธ ์์ฑ ๋ฐฉ์์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ต๋๋ค
ํ ์คํธ๋ ๋ด๋ถ ๊ตฌํ์ ์์กดํ์ง ์๊ณ ์ฌ์ฉ์ ์ ์ฅ์์ ์์ฑํ๋๊ฒ ์ข๋ค๊ณ ์ดํดํ์ต๋๋ค.๊ทธ๋ฐ๋ฐ ProductFilter ์ปดํฌ๋ํธ์ ํตํฉํ ์คํธ๋ฅผ ์์ฑํ์๋ฉด์ "์ํ๋ช ์ ์์ ํ๋ ๊ฒฝ์ฐ setTitle ์ก์ ์ด ํธ์ถ๋๋ค", "์ต์
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitestBB Dev
ใป
0
258
2
- ๋ฏธํด๊ฒฐ
vitest Extension ์๋ ค์ฃผ์ธ์.
<img src="https://cdn.inflearn.com/public/files/posts/00176471-f2cb-4652-bc3e-00936906a749/708b1055-4c42-41aa-83a9-604270c0bec4.png" media-type="img"
javascriptreact์ํํธ์จ์ด-ํ ์คํธvitest๊ฑฐ๋
ใป
0
267
1






