개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
테스트 코드는 실제 코드 못지 않게 중요하다.
테스트 코드를 깨끗하게 관리해야 유연성, 유지보수성, 재사용성이 강화된다.
깨끗한 테스트 코드를 작성하기 위해 FIRST 규칙을 기억하자.
TIL (Today I Learned) 날짜
2022. 05. 08
오늘 읽은 범위
9장. 단위 테스트
책에서 기억하고 싶은 내용을 써보세요.
의도하 지 않은 결함 수가 많아지면 개발자는 변경을 주저한다. 변경하면 득보다 해가 크다 생각해 더 이상 코드를 정리하지 않는다. 그러면서 코드가 망가지기 시작한다.
테스트는 유연성, 유지보수성, 재사용 성을 제공한다. 테스트 케이스가 있으면 변경이 쉬워지기 때문이다.
테스트 코드는 본론에 돌입해 진짜 필요한 자료 유형과 함수만 사용한다.
가장 좋은 규칙은 “개념 당 assert 문 수를 최소로 줄여라”와 “테스트 함수 하나는 개념 하나 만 테스트하라”라 하겠다.
테스트는 부울bool 값으로 결과를 내야 한다. 성공 아니면 실패다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
실무에서 TDD를 사용하지 않아 단위테스트에 익숙하진 않지만 spring boot 강의 들으면서 JUnit을 통해 테스트를 작성해본 경험이 있는데 이미 써 놓은 코드를 고칠때 테스트 코드를 거치면 변경이 쉬워진다는 것에 공감한다. 코드 수정 시 예외 케이스로 인해 오류가 생길 수 있다는 생각에 주저한 적이 여러번 있는데 그런 부분들이 코드 품질을 더 떨어뜨리는 원인이 되는 것 같다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
BUILD-OPERATE-CHECK 패턴
build: 테스트 데이터를 만든다.
operate: 테스트 데이터를 실행하여 얻은 정보
check: operation을 통해 얻은 결과에 대해 검증한다.
given-when-then
given: 테스트를 위해 준비하는 과정. 변수, 입력 값 등 정의.
when: 실제 메서드 실행하는 과정.
then: 메서드 실행을 통해 얻는 결과를 검증하는 과정.
참고자료