Community

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

← Go back
TIL 9장. 단위 테스트
#clean_code
2년 전
547

오늘 TIL 3줄 요약

<예시>

  • 단위 테스트도 가독성이 중요하다.

  • 단위 테스트는 실제 코드만큼 중요하다.

  • F.I.R.S.T

</예시>

TIL (Today I Learned) 날짜

2022.03.05

오늘 읽은 범위

9장. 단위 테스트

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

  • (p. 157) 테스트 코드는 실제 코드 못지 않게 중요하다. 테스트 코드는 사고와 설계와 주의가 필요하다. 실제 코드 못지 않게 깨끗하게 짜야 한다.

  • (p. 157) 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다.

  • (p. 157) 실제 코드를 점검하는 자동화된 단위 테스트 슈트는 설계와 아키텍처를 최대한 깨끗하게 보존하는 열쇠다. 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 테스트 케이스가 있으면 변경이 쉬워지기 때문이다.

  • (p. 158) 깨끗한 테스트 코드를 만들려면 세 가지가 필요하다.

    • 첫 번째는 가독성이다.

    • 두 번째도 가독성이다.

    • 마지막 세 번째 또한 가독성이다.

    • 테스트 코드에서 가독성을 높이려면 명료성, 단순성, 풍부한 표현력이 필요하다. 테스트 코드는 최소의 표현으로 많은 것을 나타내야 한다.

  • (p. 165) 작가시점 - 나는 ‘단일 assert문’ 이라는 규칙이 훌륭한 지침이라 생각한다. 대체로 나는 단일 assert를 지원하는 해당 분야 테스트 언어를 만들려 노력한다. 하지만 때로는 주저 없이 함수 하나에 여러 assert문을 넣기도 한다. 단지 assert문 개수는 최대한 출여야 좋다는 생각이다.

  • (p. 167) 가장 좋은 규칙은 “개념 당 assert문 수를 최소로 줄여라”와 “테스트 함수 하나는 개념 하나만 테스트하라”라 하겠다.

  • (p. 167) F.I.R.S.T

    • Fast(빠르게)

    • Independent(독립적으로)

    • Repeatable(반복 가능하게)

    • Self-Validating(자가 검증하는)

    • Timely(적시에)

  • (p. 168) 결론

    • 테스트 코드가 방치되어 망가지면 실제 코드도 망가진다. 테스트 코드를 깨끗하게 유지하자.

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

솔직히 아직 유닛테스트를 사용해 본 적이 단 한 번도 없다. 그렇다고 남이 짜 놓은 유닛 테스트를 어떻게 실행하는지도 모른다.

필요성은 알고 있었지만 배울 의지가 부족했음을 인정한다.

이번 프로젝트에서 기획없이 막 프로그램을 짜다보니, 테스트 프로그램이 필요하다는 걸 절실히 느끼고 있지만 어떻게 접근해야 할지 몰라 고민 중이었는데, 책을 읽으며 다음 주에 시간을 짜내어 유닛테스트 공부를 좀 해야겠다.

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

어디서 어떻게 공부할 수 있을런지...