๋ชฉ์ฐจ
TDD ๊ฐ๋
Test-Driven Development (ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ) ์ ์ฝ์
๊ฐ๋ฐ ๋ฐฉ์ ์ค ํ๋์
๐๊ธฐ์กด์ ๊ฐ๋ฐ :
์๊ตฌ์ฌํญ ๋ถ์ -> ์ค๊ณ -> ๊ฐ๋ฐ -> ํ ์คํธ -> ๋ฐฐํฌ
(์ฌ์ค๊ณ๋ก ์ธ ํ => ์ ์ง๋ณด์ ์ด๋ ค์ ใ ใ )
๐ TDD :
๋ชฉ์ ์ ์ -> (์ผ๋จ) ์คํจ ํ ์คํธ ์์ฑ -> ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ์ต์ํ์ ์ฝ๋ ์์ฑ -> ์ฝ๋ ๋ฆฌํฉํ ๋ง (๋ฐ๋ณต)
-> ๊ฐ๋ฐ -> ๋ฐฐํฌ
TDD ํด
JUnit : java ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋จ์ ํ ์คํธ ํ๋ ์์ํฌ (์ด์ธ์๋ xUnit ์ด๋ผ๊ณ ๋ค๋ฅธ ์ธ์ด๋ค๋ ์์)
Mockito : Mocking(๋ชจ์) ํ์ฌ ํ ์คํธํ ์ ์๊ฒํ๋ ํ๋ ์์ํฌ
red-green-refactoring cycle
TDD ์ฅ๋จ์
์ฅ์
- ๊ฐ๋ฐ์์ฐ์ฑ, ๊ตฌํ ๋ฑ๋ฑ ํจ์จ์ ์
๋จ์
- ์์ฐ์ฑ ์ ํ (ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํด์ผํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ๋ ๊ฑธ๋ฆผ)
- TDD ๊ฐ๋ฐ ๋ฐฉ์์ ์ ์ํด์ผํจ (๊ธฐ์กด ๊ฐ๋ฐ ๋ฐฉ์๊ณผ ๋ค๋ฅธ ๋ฐฉ์์ด๊ธฐ์ ์ ์ํ๋๋ฐ ์ด๋ ค์์ด ์์ ์ ์์)
https://hanamon.kr/tdd%EB%9E%80-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%A3%BC%EB%8F%84-%EA%B0%9C%EB%B0%9C/
https://tech.kakaopay.com/post/implementing-tdd-in-practical-applications/
https://blog.nashtechglobal.com/test-driven-development-tdd-in-net-core/
https://developer.ibm.com/articles/5-steps-of-test-driven-development/