4. Testing Library
Keyword
Jest
Describe-Context-It ํจํด
React Testing Library
1. Jest
JavaScript Testing Framework JS ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ๋ฅผ ์ํํด ์ฝ๋ ์์ ์ฑ๊ณผ ํ์ง์ ์ ์งํ๊ณ ๋ฒ๊ทธ๋ฅผ ์ค์ผ ์ ์๋ค.
expect๋ก ํ ์คํธ ํ ๋์์ ์ง์ ํ๊ณ matcher๋ก ์์ ๊ฒฐ๊ณผ์ ์ค์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ ์ ์๋ค.
callback, promise, async/await ๋น๋๊ธฐ ์ฝ๋ ํ ์คํธ๋ฅผ ์ํํ ์ ์๋ค.
๋ชจ๋, ํจ์๋ ๊ฐ์ฒด๋ฑ์ mockingํ์ฌ ๋์ฒดํ ์ ์๋ค.
Jest๋ ๋ณดํต (describe, it) ์์ผ๋ก ์์ฑ
describe - ํ ์คํธ ๊ทธ๋ฃนํ
it - ๊ฐ๋ณ ํ ์คํธ ์ํ
SWC(Super-fast Web Compiler)
Jest๋ JSํ์ผ ํ ์คํธ๋ง ์ง์ํ๋ฏ๋ก, SWC๋ฅผ ์ฌ์ฉํด TS๋ฅผ JS๋ก ๋ณํํด์ค๋ค.
Javascript์ Typescript ์ฝ๋ ์ปดํ์ผ๋ฌ
JS์ ES6+ ๋ฌธ๋ฒ์ ES5๋ฌธ๋ฒ์ผ๋ก ํธ๋์คํ์ผ๋ง
TS -> JS ์ปดํ์ผ๋ง
2. Describe-Context-It ํจํด
ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ๊ตฌ์ฑํ๋๋ฐ ๋์์ด ๋๋ ํ ์คํธ ์ฝ๋ ๊ตฌ์ฑ ํจํด
Describe - ์ค๋ช ํ ํ ์คํธ ๋์์ ๋ช ์ํ๋ค.
Context - ํ ์คํธ ๋์์ด ๋์ธ ์ํฉ์ ์ค๋ช ํ๋ค.
It - ํ ์คํธ ๋์์ ํ๋์ ์ค๋ช ํ๋ค.
ํ๊ตญ์ด๋ก ํ
์คํธ ์ค๋ช
์์ฑ
(์ฐธ์กฐ ๋งํฌ)
Describe - ํ ์คํธ ๋์์ ๋ช ์ฌ๋ก ์์ฑํ๋ค.
Context๋ - ~์ธ ๊ฒฝ์ฐ, ~ํ ๋, ๋ง์ฝ ~ ํ๋ค๋ฉด ๊ณผ ๊ฐ์ด ์ํฉ ๋๋ ์กฐ๊ฑด์ ๊ธฐ์ ํ๋ค.
it - ๋ช ์ฌ๋ก ์์ฑํ ํ ์คํธ ๋์์ ํ๋์ ์์ฑํ๋ค
ํ ์คํธ ๋์์ ํ๋์ ~์ด๋ค, ~ํ๋ค, ~๋ฅผ ๊ฐ๋๋ค๊ฐ ์ ์ ํ๋ค.
~๋๋ค ๊ฐ์ ์๋ํ ํํ์ ์ข์ง ์๋ค.
3. React Testing Library
React ์ปดํฌ๋ํธ๋ฅผ ํ ์คํธํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฃผ๋ก Jest์ ํจ๊ป ์ฌ์ฉํ๋ค.
E2E Test์ ๊ฐ์ด ์ฌ์ฉ์ ์๋๋ฆฌ์ค์ ๋ฐ๋ผ ์ปดํฌ๋ํธ์ ๋์์ ํ ์คํธ (์ฌ์ฉ์ ์ค์ฌ์ ํ ์คํธ)
๋ค๋ง ๋ฆฌ์กํธ ์ปดํฌ๋ํธ ํ ์คํธ๋ง ํ๋ ์ํฉ์ ์ง์ํ์
๋๋ฌด ๋ง์ ํ ์คํธ ์ฝ๋๋ก ์ธํด ์ ์ง๋ณด์๋ฅผ ์ํ ํ ์คํธ๊ฐ ์คํ๋ ค ์ญํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
ํค์๋ ์ถ๊ฐ ์ ๋ฆฌ
TDD
BDD
E2E (End To End)
Last updated