Community

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

← Go back
CleanCodeTIL[8] = "단위 테스트"
#clean_code
2년 전
555

오늘 TIL 3줄 요약

  • 테스트는 실제 코드만큼이나 프로젝트 건강에 중요하다.

  • 테스트 코드가 방치되어 망가지면 실제 코드도 망가진다.

  • 그러니 테스트 코드는 지속적으로 깨끗하게 관리하자.

TIL (Today I Learned) 날짜

2022. 05. 07

오늘 읽은 범위

9장. 단위 테스트

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

  • TDD 법칙 세 가지

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

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

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

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

    • 실제 코드가 진화하면 테스트 코드도 변해야 한다.

    • 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다.

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

  • BUILD-OPERATE-CHECK 패턴

    • 첫 부문은 테스트 자료를 만든다. 두 번째 부분은 테스트 자료를 조작하며, 세 번째 부분은 조작한 결과가 올바른지 확인한다.

  • 도메인에 특하된 언어(DSL)로 테스트 코드를 구현한다.

    • 시스템 조작 API 위에다 함수와 유틸리티를 구현한다.

  • assert 문 개수는 최대한 줄여야 좋다.

  • 테스트 함수 하나는 개념 하나만 테스트하라.

  • F.I.R.S.T

    • Fast

    • Independent

    • Repeatable

    • Self-Validating

    • Timely

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

  • TDD에 대해 본 이후로 테스트 먼저 작성하려는 습관을 기르려했지만 툴을 사용하지 않아서 굉장히 힘들었다. 최근 Spring을 독학하며 JUnit을 만지게 되었는데 이래서 Test가 중요하고도 좋은거라는 것을 한눈에 알게 되었다. 테스트에 성공하는 것을 목표로 기능을 구현하는것이 재미도 있었고 효율도 좋았다. 그래서 이번에 읽은 장을 통해 여러가지 기법들을 알게되어 기쁘다. 잘 공부해서 적용해 봐야겠다.

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

  • 템플릿 메서드 패턴

  • 이중 표준

오늘 읽은 다른사람의 TIL