개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
TIL (Today I Learned) 날짜
2022. 05. 08
오늘 읽은 범위
9장. 단위테스트
책에서 기억하고 싶은 내용을 써보세요.
테스트 코드는 실제 코드 못지 않게 중요하다. 테스트 코드는 사고와 설계와 주의가 필요하다. 실제 코드 못지 않게 깨끗하게 짜야한다.
코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다.
테스트 커버리지가 높을수록 공포는 줄어든다. 테스트 케이스가 있다면 아키텍처가 부실한 코드나 설계가 모호하고 엉망인 코드라도 별다른 우려 없이 변경할 수 있다. 오히려 안심하고 아키텍처와 설계를 개선할 수 있다.
깨끗한 테스트 코드를 만들려면 세가지가 필요하다. 가독성, 가독성, 가독성
각 테스트는 명확히 세 부분으로 나눠진다. 첫 번째는 테스트 자료를 만든다. 두번째는 데트스 자료를 조작하며, 세번째 부분은 조작한 결과가 올바른지 확인한다.
개념 당 assert 문 수를 최소로 줄여라, 테스트 함수 하나는 개념 하나만 테스트하라.
FIRST: 빠르게, 독립적으로, 반복가능하게, 자가검증하는, 적시에
테스트 코드가 방치되어 망가지면 실제 코드도 망가진다. 테스트 코드를 깨끗하게 유지하자.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
깨끗한 테스트 코드, 단위 테스트는 중요하다는 말에는 아주 공감한다. 하지만 왜 실무에서 적용하는 것은 쉽지 않은 것일까.. 아무래도 초기의 스타트업인 경우에는 일단 돌아가는 서비스를 만드는 것에 집중하고, 일정도 빠듯하게 잡는 것 같다. 장고 프레임워크도 테스트 기능을 제공해서 테스트할 수 있는 환경도 아주 편리하다고 생각한다. 구직활동 할 때 기업들의 기술 과제나 팀 프로젝트에서는 테스트 코드까지 짜서 PR을 올렸는데, 실무에서는 그러지 못하는 것에 대해 반성할 수 있는 시간이었다. 테스트 코드까지 짜서 좀 더 좋은 코드를 만들기 위해 노력해야겠다.