Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
제 9장. 단위 테스트
by xgro
#clean_code
2년 전
564

📌 오늘 TIL 3줄 요약

  • 일회용 테스트 코드를 짜오다가 새삼스레 자동화된 단위 테스트 슈트를 짜기란 쉽지 않다. 둘 사이는 간극이 아주 크다

  • 테스트는 유연성, 유지보수성, 재사용성을 제공한다

  • 깨끗한 테스트 코드를 만들려면? 세가지가 필요하다. 가독성, 가독성, 가독성

📌 TIL (Today I Learned) 날짜

2022. 05. 08

📌 오늘 읽은 범위

9장. 단위 테스트

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

  • 애자일과 TDD 덕택에 단위 테스트를 자동화하는 프로그래머들이 이미 많아졌으며 점점 더 늘어나는 추세다.

  • TDD 법칙 세가지

    • 첫째 법칙:
      실패하는 단위 테스트를 작성할 때가지 실제 코드를 작성하지 않는다.

    • 둘째 법칙:
      컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.

    • 셋째 법칙:
      현재 실패하는 테스르를 통과할 정도로만 실제 코드를 작성한다.

  • 위 세가지 규칙을 따르면 개발과 테스트가 대략 30초 주기로 묶인다.

  • 일회용 테스트 코드를 짜오다가 새삼스레 자동화된 단위 테스트 슈트를 짜기란 쉽지 않다. 둘 사이는 간극이 아주 크다.

  • 테스트 슈트가 없으면 개발자는 개발자는 자신이 수정한 코드가 제대로 도는지 확인할 방법이 없다.

  • 테스트 코드는 실제 코드 못지 않게 중요하다.

  • 테스트 코드는 이류 시민이 아니다.

  • 테스트 코드는 사고와 설계와 주의가 필요하다.

  • 실제 코드 못지않게 깨끗하게 짜야 한다.

  • 테스트는 유연성, 유지보수성, 재사용성을 제공한다

  • 깨끗한 테스트 코드를 만들려면? 세가지가 필요하다. 가독성, 가독성, 가독성

  • F.I.R.S.T

    • Fast: 테스트는 빨라야 한다.

    • Independent: 각 테스트는 서로 의존하면 안된다.

    • Repeatable: 테스트는 어떤 환경에서도 반복 가능해야 한다.

    • Self-Validating: 테스트는 Bool 값으로 결과를 내야 한다.

    • Timely: 테스트는 적시에 작성해야 한다.

  • 테스트 API를 구현해 도메인 특화 언어를 만들자, 그러면 테스트 코드를 짜기가 쉬워진다.

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

  • TDD 방식에 대해서 별도로 공부를 해볼 필요성을 느끼게 되었다.

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

📌 오늘 읽은 다른사람의 TIL