Clean Code #9

안성은·2022년 3월 6일
0

Clean Code

목록 보기
9/10

9장. 단위 테스트


1. 책에서 기억하고 싶은 내용을 써보세요.

  • TDD 세가지 법칙
    1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
    2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
  • 지저분한 테스트 코드는 테스트를 안하는 것보다 못하다. 테스트 코드가 지저분할 수록 변경하기 어려워진다.
  • 테스트 코드를 깨끗하게 유지하지 않으면 결국은 잃어버린다.
  • 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위테스트이다.
  • 실제 코드를 점검하는 자동화된 단위 테스트 슈트는 설계와 아키텍처를 최대한 깨끗하게 보존하는 열쇠다.
  • 깨끗한 테스트 코드에서 가장 중요한 것은 가독성이다.
  • 테스트를 분리하면 중복되는 코드가 많아지고 Template Method 패턴을 사용해서 중복을 제거할 수 있다.
  • 한 테스트 함수에서 여러 개념을 테스트한다는 사실이 문제이고 가장 좋은 규칙은 '개념 당 assert 문 수를 최소로 줄여라', '테스트 함수 하나는 개념 하나만 테스트하라'이다.
  • 테스트 코드는 실제 코드의 유연성, 유지보수성, 재사용성을 보존하고 강화한다.

2. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  • 회사에서 개발 업무를 진행하면서 '왜 테스트 코드가 없을까?' 고민하면서 개발을 했다. 기회가 되면 조금씩 테스트 코드를 작성해야겠다고 생각을 했다. 하지만 테스트 코드를 작성하려고 할 때마다 새로운 기능이 추가되면 기존의 테스트 코드를 변경해야 되는 것이 과연 생산적인인지 많은 고민도 했었다. 이 책을 읽고나서 테스트 코드를 작성하는 것은 쉽지 않다는 것을 깨달았다. 아니... 작성보다는 전체적인 테스트 코드 구조를 짜는 것이 중요하고 테스트 코드는 많은 고민과 시간을 들여서 써야 한다는 것을 깨달았다.

3. 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

세줄 요약

  • 테스트 코드는 유연성, 유지보수성, 재사용성을 제공한다.
  • 때로는 나쁜 테스트 코드는 테스크 코드가 없는 것보다 낫다.
  • FIRST(Fast, Independent, Repeatable, Self-Validating, Timely), 깨끗한 테스트 코드 작성 방법

0개의 댓글