Community

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

← Go back
9장 단위 테스트
#clean_code
2년 전
696

오늘 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: 메서드 실행을 통해 얻는 결과를 검증하는 과정.

참고자료

http://butunclebob.com/FitNesse.BuildOperateCheck

https://brunch.co.kr/@springboot/292