[워밍업 클럽] 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 배운 내용을 충분히 소화해서 내 코드에 자연스럽게 녹여내는 것이 목표!
댓글을 작성해보세요.