TDD, 클린 코드 with Java 18기: 실시간 강의 정리(2)
TDD
TDD는 가장 작은 단위부터 한다
- 의존성이 없는 단위부터 진행해야 하며 그 범위를 넓혀 나간다.
TODO 리스트를 만들어라
- TODO 리스트를 만드는 것을 통해 TDD를 좀 더 쉽게 도전할 수 있다.
TDD는 단위 테스트가 중심이다
- view와 database에 대한 테스트는 통합 테스트의 영역이다.
- 도메인 영역을 중심적으로 단위 테스트를 작성해야 한다.
생성자를 많이 만들어라
- 테스트 코드를 위해 메서드를 추가하는 것은 반대한다.
- 다만 생성자를 적극 활용하라.
- 생성자는 개발자에게 편의를 제공한다.
도메인 객체
- DTO는 setter, getter가 필요할 수 있다.
- 도메인 객체에서는 setter는 절대 필요 없다. 객체 내의 상태 값을 밖으로 끄집어내서 로직을 수행하려고 하지마라.
- 이는 재사용성이 떨어지며 대표적인 절치지향 개발 방식이다.
- getter는 최대한 쓰지 않다가 필요할 때 만들어서 사용해라.
- 객체를 주체적으로 바라 봐야 한다.
원시 포장 객체
- 원시 포장 객체의 경우 equals & hashcode를 이용하여 테스트 코드를 작성하자
일급 콜랙션