본문 바로가기

CS/CS Book

[Clean Code | 9장 단위 테스트 ] Day14

기억하고 싶은 부분

  • TDD 세 가지 법칙
    1. 실패하는 단위테스트 작성할 때까지 실제 코드를 작성하지 않는다.
    2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
  • 실제 코드와 맞먹을 정도로 방대한 테스트 코드는 심각한 관리 문제를 유발하기로 한다.
  • 깨끗한 코드 유지하기
  • 개념당 assert 문 수를 최소로 줄여라
  • 테스트 함수 하나는 개념 하나만 테스트하라

소감

  • 깨끗한 코드 유지하기 부분이 납득되었다. 빠른 테스트를 위해 알아보기 어려운 상태의 테스트 코드를 작성하는 것은 나중에 바뀔 실제코드에 맞게 테스트 코드도 변경되어야 하므로 테스트 코드 변경을 어렵게 만들기에 그렇다
  • 도서관 프로젝트에서 배포 전에 만든 단위 테스트가 얼마 남아있지 않아서 기능 수정이나 추가를 하기 엄두가 잘안나던 경험들이 떠올랐다 회의에서 테스트 케이스를 추가 및 여러 가지 개선점들을 반영하기로 하였지만 각자 개인사정으로 중단된 점이 떠올랐다.
  • 확실히 그때 테스트 케이스들을 만들었다면 더 안전한 서비스가 되고 우리가 추가하고 싶었던 다른 기능들도 원활히 넣을 수 있지 않을까라는 생각이 들어서 더 단위 테스트 파트가 인상 깊게 다가왔다.
  • 그 외 여러 디자인패턴과 개념들도 소개되어서 메타인지를 더 많이 해볼 수 있는 장이었다.
  • 아주 작게 단위테스트들을 추가하고 코드를 깔끔하게 유지해 보아야겠다는 생각과 “단위 테스트”, “이펙티브 소프트웨어 테스팅” 같은 책을 읽을 마음도 생겼다

기억에 남는 TIL