Community

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

← Go back
[TIL] Chapter 9. 단위 테스트
#clean_code
2년 전
1,065

오늘 TIL 3줄 요약

  • 테스트 코드는 실제 코드 못지 않게 중요하고 그만큼 깨끗하게 짜야 한다.

  • 가장 유의해야 할 점은 가독성이다.

  • 깨끗한 테스트는 F.I.R.S.T. (Fast, Independent, Repeatable, Self-validating, Timely) 규칙을 따른다.

TIL (Today I Learned) 날짜

2022. 03. 06

오늘 읽은 범위

9장. 단위 테스트

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

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


    2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.

  • 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다.
    그 이유는, 테스트 케이스가 있으면 변경이 두렵지 않기 때문이다.

  • 테스트 코드는 진짜 필요한 자료 유형과 함수만 사용하여, 코드를 읽는 사람이 잡다하고 세세한 코드에 헷갈릴 필요 없이 코드가 수행하는 본연의 기능을 재빨리 이해할 수 있게 해야 한다.

  • "개념 당 assert 문 수를 최소로 줄이기", "테스트 함수는 한 개념만 테스트"

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

  • 최근에 TDD에 관심이 생겨 프론트엔드 테스트 코드를 작성하는 법을 공부하려고 했었는데 깔끔한 테스트 코드 작성하는 법을 알게 되어 도움이 많이 될 것 같다. 현재 일하고 있는 팀에서는 백엔드 단에서의 테스트 코드만 있고 프론트엔드 쪽의 테스트 코드는 없기 때문에 나중에 오늘 배운 내용을 토대로 테스트 코드를 작성해봐야겠다.

  • "테스트 케이스가 없다면 모든 변경이 잠정적인 버그다." "테스트 케이스가 있다면 오히려 안심하고 아키텍처와 설계를 개선할 수 있다." 이 부분을 읽고 테스트 코드란 일종의 "안전 잠금장치" 같은 역할을 하기 때문에 개발자에게 코드를 변경하여 개선할 자신감을 주는 기능을 하는 것 같다.

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

  • DSL (Domain Specific Language)
    특정 영역을 타겟하고 있는 언어. 어떠한 목적이 있고 그 목적만 달성할 수 있는 언어.