개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
단순히 테스트 케이스를 작성하느라 제대로 된 테스트 케이스를 작성해야한다는 사실을 놓쳐서는 안 된다.
깨끗한 테스트 코드를 작성하는데 가장 중요한 것은 가독성이다.
잘 작성된 테스트 코드는 실제 코드의 유연성, 유지보수성, 재사용성을 강화해준다.
TIL (Today I Learned) 날짜
2022. 03. 05
오늘 읽은 범위
9장. 단위 테스트
-- 내용을 정리한 글
책에서 기억하고 싶은 내용을 써보세요.
많은 프로그래머들이 제대로 된 테스트 케이스를 작성해야 한다는 좀 더 미묘한 (그리고 더욱 중요한) 사실을 놓쳐버렸다. (p. 155)
테스트 코드가 지저분하면 코드를 변경하는 능력이 떨어지며 코드 구조를 개선하는 능력도 떨어진다. 테스트 코드가 지저분할수록 실제 코드도 지저분해진다. 결국 테스트 코드를 잃어버리고 실제 코드도 망가진다. (p. 157)
가장 좋은 규칙은 "개념 당 assert 문 수를 최소로 줄여라"와 "테스트 함수 하나는 개념 하나만 테스트하라"라 하겠다. (p. 167)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
스위프트에서는 한글로 함수명이나 변수명을 작성할 수 있는데 테스트 코드를 빨리 이해하기 쉽도록 테스트 함수명을 한글로 작성하기도 한다. 가장 최근 프로젝트에서(그럼에도 시간이 꽤 지났지만) TDD 를 적용해본 적이 있다. 사실 정말 귀찮은 작업이고 여전히 좋은 테스트 코드란 것에는 많은 공부가 필요하지만 우리가 프로젝트를 하면서 공통적으로 느낀 것은 테스트 코드가 있다면 무심히 지나칠 수 있던 프로그램의 버그를 더욱 쉽고 빠르게 찾을 수 있다는 것이었다. 코드를 작성하거나 변경했을 때 무심히 돌린 테스트에서 (당연히 통과할 것이라고 생각한) 갑자기 실패가 뜨거나 깜박하고 테스트를 돌리지 않고 깃헙에 올린 경우에 미리 설정해둔 Github Action 의 테스트에서 실패가 뜰 때 아차 싶었던 경우가 꽤 많이 있었다. 최근 개인 프로젝트를 할 때도 TDD 를 적용해볼까도 싶지만 사실상 너무 귀찮은 나머지 테스트 코드를 작성하는 것을 포기할 때도 많다. 이 챕터의 내용은 ‘테스트 코드를 작성하라’가 아니라 ‘깨끗한 테스트 코드를 작성하라’이지만 이 책을 읽으면서 다시 한 번 테스트 코드를 작성해봐야겠다는 생각이 들었다. 기왕이면 깨끗한 테스트 코드로 말이다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
첫 부분에 나왔던 TDD 의 세 가지 법칙은 아직 이해가 잘 되지 않는다 ㅎㅎ 이 부분은 TDD 자체에 대해 좀 더 공부해야 할 것 같다.
오늘 읽은 다른사람의 TIL