[TIL] Spring Boot Test 코드 작성

2025-05-07 TIL

📝 TIL (Today I Learned)
🔗 원본 이슈: #52
📅 작성일: 2025-05-07
🔄 최종 수정: 2025년 05월 22일


🍀 새롭게 배운 것

  • Spring Boot Test 코드 작성

    • 참고 블로그 링크

    • Given-When-Then 패턴을 기반으로 테스트 코드의 가독성과 목적을 명확히 하는 연습을 시작했다.

      import org.junit.jupiter.api.Test;
      
      public class MyServiceTest {
      
          @Test
          void 테스트이름_의미있게작성() {
              // 1. Given: 테스트 준비 (입력값, Mock 설정 등)
              // 2. When: 실제 테스트 대상 메서드 호출
              // 3. Then: 결과 검증 (assert문 사용)
          }
      }
      
    • 느낀 점

      • 테스트 코드를 통해 서비스 로직을 더 명확하게 파악할 수 있었고, 테스트 코드가 일종의 문서처럼 동작한다는 점이 인상 깊었다.
      • 실제 비즈니스 로직을 리팩토링할 때 테스트 코드가 잘 작성되어 있다면 훨씬 더 안전하게 수정이 가능하다는 것도 체감함.
    • 추가 학습 포인트

      • @SpringBootTest, @WebMvcTest, @DataJpaTest 등 테스트 종류별 차이
      • Mocking 도구: @MockBean, Mockito, MockMvc 사용법
      • 테스트 클래스 구조 정리: Service, Controller, Repository 각각에 맞는 테스트 전략

앞으로 기능을 개발할 때 무조건 테스트 코드부터 작성하는 습관을 들이자! 특히 WebClient 통신이나 예외 처리 로직은 꼭 단위 테스트로 검증할 수 있도록 설계하자.