[워밍업 클럽] BE 클린코드&테스트 4주차 발자국

[워밍업 클럽] BE 클린코드&테스트 4주차 발자국

강의: Practical Testing: 실용적인 테스트 가이드

 

학습 내용

Spring & JPA 기반 테스트

Layered Architecture에 따른 스프링 & JPA 기반 테스트 방법에 대해서 학습했다.

Persistence Layer

  • 데이터베이스에 접근하는 영역(Data Access)

     

  • Data에 대한 CRUD에만 집중한 레이어

  • 비즈니스 가공 로직 포함 X

Business Layer

  • 비즈니스 로직을 구현하는 영역

  • Persistence Layer와 통합하여 테스트 작성 -> @SpringBootTest 사용

  • 트랜잭션 보장

    • 주로 클래스 전체에 @Transactional(readOnly = true) 적용하고,

    • 커맨드 메서드(CUD) 위에 @Transactional 적용

       

Presentation Layer

  • 외부 요청을 가장 먼저 받는 영역

  • 파라미터 등 넘겨 받은 값들에 대한 최소한의 검증 수행

  • Business Layer, Persistence Layer와 같은 하위 Layer 들을 Mocking 처리
    -> @MockMvc , @WebMvcTest, @MockBean 사용

     

Mock을 마주하는 자세

더 나은 테스트를 작성하기 위한 구체적 조언

 

회고

Liked 지식공유자 우빈님의 깜짝 세션

Lacked 첫 강의를 수강할 때는 강의 진도표에 잘 맞춰 듣었는데 두번째 테스트 코드 강의 때는 강의 진도가 뒤쳐져서 마지막 과제는 제출하지 못했다. 좀 더 많은 것을 알고 공부한 상태에서 들었으면 훨씬 빨리, 많이 배울 수 있었을 것 같아서 아쉽다.

Learned 단순히 테스트 코드를 작성하는 방법 뿐만 아니라 Layered Architecture에서 어떻게 테스트 코드를 작성에 유리한 설계를 할 수 있는지 배웠다. 이런 설계는 각 Layer의 책임 분리를 유도하고, 궁극적으로 좋은 설계로 이어짐을 배울 수 있었다.

Longed for 배운 내용을 충분히 소화해서 내 코드에 자연스럽게 녹여내는 것이 목표!

댓글을 작성해보세요.

채널톡 아이콘