개발자 99% 커뮤니티에서 수다 떨어요!
📌 오늘 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
jhun님의 TIL (url 링크)