내일배움캠프 29일차 TIL : Spring - 단위 테스트

김원기·2024년 5월 31일

TIL

목록 보기
33/42
post-thumbnail

내일배움캠프 29일차 TIL : Spring - 단위테스트

아직 배운 내용은 아니긴 한데 미리 훑어보는 느낌으로 작성해보려 한다.

단위 테스트

  • 단위테스트는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이다.

  • 여기서 하나의 모듈은 각 레이어에서 하나의 기능 또는 하나의 메서드로 이해할 수 있다.

  • 하나의 기능이 올바르게 작동할 수 있는지 독립적으로 하는 테스트를 말한다.

단위 테스트의 필요성

단위 테스트는 테스트하고자 하는 부분만 독립적으로 테스트를 하기 때문에 해당 단위를 유지 보수 또는 리팩토링 하더라도 빠르게 문제 여부를 확인 할 수 있다.

통합 테스트는 여러 컴포넌트들 간의 상호작용을 테스트 하기 때문에캐시나 데이터베이스 등 다른 컴포넌트들과 실제 연결을 해야하고 어플리케이션을 구성하는 컴포넌트들이 많아 질수록 테스트를 위한 시간이 커진다.

이러한 점을 해소하기 위해 단위테스트가 필요하다.

단위 테스트의 한계

단위 테스트는 해당 기능에 대한 독립적인 테스트기 때문에 다른 객체와 데이터를 주고 받는 경우에 문제가 발생한다.

또한 단위 테스트를 하기 위해 별도의 데이터를 준비해야 하며, 각 모듈간의 연결도 완전히 끊겨있어야 가능하다.

단위 테스트의 특징

FIRST 규칙을 따른다

Fast : 테스트는 빠르게 동작하고 자주 가동 해야한다.
Independent : 각각의 테스트는 독립적어이야 하며, 서로에 대한 의존성은 없어야 한다.
Repeatable : 어느 환경에서도 반복이 가능해야 한다.
Self-Validating : 테스트는 성공 또는 실패 값으로 결과를 내어 자체적으로 검증 되어야 한다.
Timely : 테스트는 테스트 하려는 실제 코드를 구현하기 직전에 구현 해야한다.

끝!

일단 정리만 하고 다음에 코드 보면서 다시 작성하도록 하겠다.

profile
혼자 공부하는 블로그라 부족함이 많아요 https://www.notion.so/18067a27ac7e4f4790dde645fb3bf3d3?pvs=4

0개의 댓글