Home 클린 코드 - 9장 단위 테스트
Post
Cancel

클린 코드 - 9장 단위 테스트

범위

  • 9장 단위 테스트

요약

  • 실제 환경에서는 절대로 안 되지만 테스트 환경에서는 전혀 문제 없는 방식이 있다.
  • F.I.R.S.T

개념 정리

  • TDD 법칙
      1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
      1. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
      1. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
  • BUILD-OPERATE-CHECK 패턴
    • BUILD: 테스트 자료를 만든다.
    • OPERATE: 테스트 자료를 조작한다.
    • CHECK: 조작한 결과가 올바른지 확인 한다.
  • F.I.R.S.T: 테스트 규칙
    • Fast: 테스트는 빨라야 한다.
    • Independent: 각 테스트는 서로 의존하면 안 된다.
    • Repeatable: 테스트는 어떤 환경에서도 반복 가능해야 한다.
    • Self-Validating: 테스트는 부울(bool)값으로 결과를 내야한다.
    • Timely: 테스트는 적시에 작성해야 한다.

책에서 기억하고 싶은 내용

  • 테스트 코드는 실제 코드 못지 않게 중요하다. 실제 코드 못지 않게 깨끗하게 짜야 한다.
  • 실제 환경에서는 절대로 안 되지만 테스트 환경에서는 전혀 문제 없는 방식이 있다. 대개 메모리나 CPU 효율과 관련 있는 경우다.
  • 테스트 당 assert 하나
    • ‘단일 assert 문’ 규칙
    • assert 문 개수는 최대한 줄여야 좋다.
  • 테스트 당 개념 하나
    • 개념 당 assert 문 수를 최소로 줄여라
    • 테스트 함수 하나는 개념 하나만 테스트 하라

소감

  • 당장 빨리빨리만 생각해 동작하는 코드에만 집중하게 되고, 테스트를 소흘하게 된다. 테스트는 모두 자신의 시간을 투자해서 작성해야 하는 문화. 기확자와 상관을 어떻게 설득해야 하는 걸까? ㅠㅠ 이 책을 던저주고 싶다.
This post is licensed under CC BY 4.0 by the author.

클린 코드 - 8장 경계

클린 코드 - 10장 클래스