일수로 따지면, 벌써 데브코스를 들어온지 두달 하고도 일주일이 지났다.
기술적인 강의와 기술적인 배움에 있어서 이번주가 거의 마지막이라고 봐도 무관하다.
8월말부터는 팀플과 최종 프로젝트가 시작된다. 여러모로 설레기도하고 긴장도 되는 월요일의 시작
오늘의 학습 Keyword
- JWT 강의
- JPA 과제 리팩토링
- HTTP - 인코딩
🔥 새롭게 배운 것 / 리마인드
- RestController 테스트시, 슬라이스 테스트가 손에 익어가기 시작한다. 어떻게하면 될지 어느정도 감이 잘 잡힌다.
- 본 코드에 JPA의 @EnableJpaAuditing를 사용하여 BaseEntity 사용 + MockBean을 사용하여 컨트롤러 테스트시
jpa metamodel must not be empty!
에러가 떴을시
- @WebMvcTest를 사용한다면 @Controller를 포함한 SpringMVC레벨의 컴포넌트들이 적용된다. 이때 @Component, @Service , @Repository 는 적용이 안된다.
- 따라서 테스트 실행 시 JPA-Auditing 관련 빈이 등록이 안된 상태로 Application 에 있던 @EnableJpaAuditing 어노테이션이 적용되었고, 이로인해 JPA metamodel must not be empty! 라는 에러를 불러일으킨다.
- 해결책 : 다음과 같이 별도의 configuration 클래스를 생성해서 @EnableJpaAuditing 을 붙여주면 해결된다. (Main 클래스에 해당 어노테이션이 있다면 옮겨주자)
@Configuration
@EnableJpaAuditing
public class JpaAuditingConfiguration {
}
🤟🏽 잘한 점
🧶 아쉬웠던 점
- JWT!! 이론이나 적용법을 제대로 알고 넘어가자!
🌱 내일의 간략한 목표
- 오늘 못한 코테 집중!
- HTTP 완벽 가이드 끝을 향하여!
- JWT 강의 집중!