아이템 10
단위 테스트를 만들어라
코드를 안전하게 만드는 궁극적인 방법은 다양한 종류의 테스트를 해보는 것이다.
✅ 단위테스트
일반적으로 다음과 같은 내용을 확인한다.
- 일반적인 유스케이스(Happy Path!): 요소가 사용될 거라고 예상되는 일반적인 방법
- 일반적인 오류케이스와 잠재적인 문제: 제대로 동작하지 않을 거라고 예상되는 일반적인 부분, 과거에 문제가 발생했던 부분 등!
- 에지 케이스와 잘못된 아규먼트
🔗 단위테스트 장점
- 테스트가 잘 된 요소는 신뢰할 수 있다.
- 리팩터링할 때 버그가 생기는지 쉽게 확인할 수 있으므로 리팩터링이 두렵지 않아진다.
- 수동으로 테스트하는 것보다 단위 테스트로 확인하는 것이 빠르다.
🔗 단위테스트 단점
- 단위 테스트를 만드는데 시간이 걸린다. 다만 장기적으로 좋은 단위 테스트는 디버깅 시간을 줄여준다.
- 테스트를 활용할 수 있게 코드를 조정해야 한다.
- 남은 개발 과정에 대한 확실한 이해가 필요하기에 좋은 단위 테스트를 만드는 것은 꽤 어렵다.
🔗 단위 테스트의 범위
- 복잡한 부분
- 계속해서 수정이 일어나고 리팩터링이 일어날 수 있는 부분
- 비즈니스 로직 부분
- 공용 API 부분
- 문제가 자주 발생하는 부분
- 수정해야 하는 프로덕션 버그
아주 유용한 정보네요!