로그인 페이지의 controller 테스트 코드를 작성하고
테스트를 돌리려는데 이러한 오류가 발생했다.
#1 문제점 인식🧐
#2 추정 - 오류가 터지는 이유
보아하니 main 메소드가 실행되는 application쪽에 보면 annotation으로 달아놓은 @EnableJpaAuditing이 문제가 되는 것이다.
내가 controller쪽 테스트를 돌리고 있는데 repository쪽, 즉 JPA쪽은 필요가 없는 상태이다.
그래서 @EnableJpaAuditing 때문에 방해가 되는 것이라는 것을 깨닫게 되었다.
#3 해당 오류 해결 방법 ✅
- Jpa config 만들기 👍
1. 먼저 main 메소드에서 방해되는 @EnableJpaAuditing 삭제
2. 따로 JpaConfig.java 파일 만들어서 여기에 @EnableJpaAuditing 담아주고, @EnableJpaAuditing 설정을 등록하고 활성화하기 위해서 위에 @Configuration도 달아준다.
결과 :
제대로 controller 테스트 코드가 실행되는 모습을 확인할 수 있다.
#4 해당오류의 재발방지에 대한 고민 💭
이런 식으로 테스트 코드까지 작성되는 점까지 고려하여 main 메소드에 @EnableJpaAuditing을 붙이는 것이 아니라 따로 config 클래스를 만들어서 따로 관리해야하는 점을 얻었고 이 뿐만 아니라 해당 오류를 접하면서 기능별로 세분화하여 클래스를 나눠놓는 것이 유지보수하지 좋으니 해당 기능은 딱 그 해당 기능만 있는 클래스로 나누기 위한 방향으로 공부해보면 좋을 것 같다.