아이템 10 - 단위 테스트를 만들어라
ds_chanin
·2022. 3. 7. 12:27
코드를 안전하게 만드는 방법은 다양한 종류의 테스트를 하는 것이다. 대부분의 관리자에게 테스트는 사용자 관점에서 애플리케이션 외부적으로 제대로 작동하는지 확인하는 것이 목표이다. 물론 개발자에게도 유용하지만 충분하지 않다. 개발자는 각 요소가 올바르게 작동한다는 것을 보증하고 빠른 피드백을 받으며 개발하기 위해 단위 테스트가 필요하다.
테스트 내용
단위 테스트는 일반적으로 아래 내용을 확인함으로써 개발자가 만들고 있는 요소가 제대로 동작하는지를 빠르게 피드백해줄 수 있어 도움이 된다.
- 일반적인 유스 케이스: 예상되는 일반적인 방법
- 일반적인 오류 케이스, 잠재적인 문제: 동작하지 않을 거라고 예상되는 일반적인 부분, 과거에 문제가 발생한 부분
- Edge 케이스, 잘못된 매개변수의 입력
테스트 장점
- 테스트로 인해 신뢰할 수 있다.
- 리팩토링이 두렵지 않다.
- 수동 테스트보다 훨씬 빠르다
단점같은 장점
- 테스트를 작성하는데 시간이 걸린다. 하지만! 장기적으로 좋은 단위 테스트는 디버깅 시간과 버그를 찾는 데 소모되는 시간을 줄여준다.
- 테스트를 활용할 수 있게 코드를 조정해야한다. 이 과정에서 좋은 아키텍쳐가 탄생하도록 강제된다.
- 좋든 단위 테스트를 만들기 어렵다. 잘못 만들어진 단위 테스트는 득보다 실이 크다.
다음과 같은 부분에 대해 단위 테스트하는 방법을 알고 있어야 한다.
- 복잡한 부분
- 계속해서 수정이 발생하고 리팩토링 해야하는 부분
- 비즈니스 로직
- 공용 API 사용 부분
- 문제가 자주 발생하는 부분
- 버그
'스터디 > 이펙티브코틀린' 카테고리의 다른 글
아이템 12 - 연산자 오버로드를 할 때는 의미에 맞게 사용하라 (0) | 2022.03.25 |
---|---|
아이템 11 - 가독성을 목표로 설계하라 (0) | 2022.03.25 |
아이템 9 - use를 사용하여 리소스를 닫아라 (0) | 2022.03.05 |
아이템 8 - 적절하게 null을 처리하라 (0) | 2022.03.03 |
아이템 7 - 결과 부족이 발생할 경우 null과 Failure를 사용하라 (0) | 2022.03.02 |