단위테스트는 테스트주도 개발의 첫 번째 단계이다.
실패하는 테스트 코드 만들기 - 적색 🟥
함수의 기능 코드 작성하기 - 녹색 🟩
⇒ 품질 높은 코드를 만들기 위함
⇒ 추상화 가능하고 리팩토링 가능한 코드를 짜야함.
테스트 코드에 따라서 코드에 대한 확실성을 보장 받을 수 있다.
리팩터 단계 - 파란색 🟦
적색 (red )/ 녹색(green) / refactor(blue) 를 순환한다.
테스트하기 쉬운 코드
→ 테스트하기 쉬우려면 함수를 많이 분리하게 된다.
⇒ 관심사의 분리
테스트 코드를 먼저 작성하고, 실제 코드를 작성하는 방법이다.
켄트 백(kent back)이 개발 하여 널리 알린 개념이다.
문제를 정의하고 해답을 찾아가는 과정이다.
테스트를 먼저 작성하여, 테스트 커버리지 비율을 높인다.
테스트 되는 것만 코드를 작성하여, 코드가 비대해지는 것을 막는다.
→ 오버엔지니어링을 막을 수 있따.
버그로 인해 발생하는 시간 낭비를 줄이고, 코드의 명시적으로 달성여부 확인 가능