포스트

[Clean Code][TIL] 단위 테스트

이 포스트는 로버트 C.마틴의 Clean Code 속 9장(154p ~ 169p) 내용에 대한 정리입니다.


“테스트 코드는 실제 코드만큼이나 프로젝트 건강에 중요하다.” (9장 168p)


TDD 법칙 세 가지

  1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
  2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
  3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.


깨끗한 테스트 코드

단위 테스트를 진행함으로서 얻을 수 있는 이점으로 유연성, 유지보수성, 재사용성이 있습니다.
여러 테스트가 있으면 변경이 쉽기 때문입니다.
반면에 테스트 코드가 지저분하면 코드 변경 능력과 구조 개선 능력이 떨어지서
따라서 실제 코드도 지저분한 코드가 되어 결국 테스트 코드와 실제 코드에서 손해를 보게 됩니다.

F.I.R.S.T 법칙

이름설명
Fast테스트를 최대한 빠르게 끝내야 개발 시간을 확보할 수 있습니다.
Independent여러 테스트가 서로 의존할 경우, 원인을 진단하기 어렵습니다.
Repeatable테스트는 언제든지 어떤 순서로든 반복적으로 실행이 가능해야 합니다.
Self-validating로그 파일을 확인하지 않고 결과를 확인할 수 있어야 합니다.
Timely코드를 구현하기 전 테스트부터 구현해야 유효한 테스트를 할 수 있습니다.


추천 TIL (Today I Learned)

  1. @yuuub님 벨로그
    객체와 자료구조를 표로 정리해 보여주셔서 이해가 쉬웠습니다.
  2. lactofreee님의 글
    사전처럼 단어와 설명이 붙어있어 5장을 이해하는데 도움이 됬습니다.
  3. vitaminFE 님의 블로그
    “오류처리를 프로그램 논리와 분리하면 독립적인 추론이 가능해지며, 유지보수성도 크게 높아진다” 라는
    말씀이 흥미로웠습니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.