TDD ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ด๋?
์ผํธ ๋ฐฑ์ด ์ฐฝ์ํ ๊ฐ๋ . ๊ฐ๋ฐ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ์ํํธ์จ์ด์ ์๊ตฌ ์ฌํญ์ ํ ์คํธ ์ผ์ด์ค๋ก ๋จผ์ ์์ฑํ ํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ๋ฆฌํฉํ ๋ง์ ํ๋ ๊ณผ์ ์ ํ ์คํธ๋ก ๋ฐ๋ณต ๊ฒ์ฆํ๋ฉฐ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ๋ก .
ํ ์คํธ ์ฝ๋ ์์ฑ -> ๊ฐ๋ฐ ์ฝ๋ ์์ฑ (ํ ์คํธ ์ฑ๊ณต) -> ๋ฆฌํฉํ ๋ง
์ฅ์
- ๊ธฐ๋ฅ ๋จ์ ํ ์คํธ๋ฅผ ์งํํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ๋จ๊ณ์์ ๋ฒ๊ทธ์ ์์ธ์ ์ฐพ๊ณ ์์ ํ ์ ์๋ค.
- ๊ฐ๋ฐ ์ฝ๋์ ์ง์์ ์ธ ๊ฒ์ฆ์ ํตํด ์์ ์ฑ ์๋ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค.
- ์์ ์ฑ ์๋ ๋ฆฌํฉํ ๋ง.
- ํ ์คํธ ๋จ์๋ ๊ฐ๋ ์ฑ ๋ฑ์ ๊ณ ๋ฏผํ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ข์ ์ค๊ณ์ ๋ํ ์ฌ๊ณ ๋ก ์ด์ด์ง๋ค.
- ์ ์์ฑ๋ ํ ์คํธ ์ฝ๋๋ ๊ทธ ์์ฒด๊ฐ ์ฑ์ ๊ธฐ๋ฅ ๋ช ์ธ๋ฅผ ์ดํดํ๋๋ฐ ๋์์ ์ฃผ๋ ๋ฌธ์๊ฐ ๋๋ค.
๋จ์
- ์ด๊ธฐ ๊ฐ๋ฐ ๋น์ฉ ์ฆ๊ฐ : ๋ชจ๋ ํ๋ก์ ํธ์๋ ํ์ ๋ ์๊ฐ๊ณผ ์์์ด ์๋๋ฐ, TDD ๋์ ์์ ์ด๊ธฐ์ ํ ์คํธ ์ฝ๋ ์์ฑ์ ๋ง์ ์์์ ํฌ์ํด์ผ ํ๋ค.
- ํ๋ก ํธ์๋์ ์คํ์ผ ๊ฒ์ฆ๊ณผ ๊ฐ์ด TDD ์ ์ฉ์ด ๋ถ๊ฐ๋ฅํ ์์ญ์ด ์๋ค.
ํ๋ก ํธ ์๋์์ TDD
๊ณตํต ์ปดํฌ๋ํธ, ํ ๊ณผ ๊ฐ์ ๋จ์ ํ ์คํธ์ ๋์์ TDD๋ฅผ ์ ์ฉํ๊ธฐ ๋งค์ฐ ํธํ๋ค.
- ๊ฒ์ฆํ๊ณ ์ ํ๋ ๊ธฐ๋ฅ์ด ๋ช ํํจ
- ๋ฒ์๊ฐ ๋์ง ์์
- ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๋ค : input ์์์ placeholder๋ก "๊ฒ์์ด๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์"๊ฐ ์ถ๋ ฅ๋๋ค.
- ๊ฐ๋ฐ ์ฝ๋๊ฐ ์์ง ์์ฑ๋์ง ์์ ์ํ๊ธฐ ๋๋ฌธ์ ํ ์คํธ ์คํจ.
- ํ ์คํธ๊ฐ ์ฑ๊ณตํ๋๋ก ๊ฐ๋ฐ ์ฝ๋ ์์ฑ.
- ๊ฐ๋ ์ฑ, ๊ฒฐํฉ๋, ์์ง๋ ๋ฑ์ ๊ฐ์ ์ ์ํ ๋ฆฌํฉํ ๋ง.
ํตํฉ ํ ์คํธ์ ๊ฒฝ์ฐ๋ ์ถฉ๋ถํ TDD ๋ฐฉ์์ ํตํด ์งํํ ์ ์๋ค. ํ์ง๋ง TDD๋ฅผ ๋์ ํ๊ธฐ ์ด๋ ค์ด ๋ถ์ผ๊ฐ ์๋๋ฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ ์คํธ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐ์ ํ๊ท ํ ์คํธ๋ E2E ํ ์คํธ๊ฐ ์๋ค.
