Back End/Spring Data JPA

[Spring JPA] Spring Test 에서 Auditing 이 안될때 (@DataJpaTest)

DevPing9_ 2021. 12. 24. 19:19

[원인]

 @DataJpaTest 는 JpaTest에 필요한 최소한의 빈을 불러오는데, 거기에는 @Configuration 빈이 포함되어있지 않다.

 따라서 @Configuration을 사용하여 따로 JpaConfig 파일을 만들었을 경우, 적용되지 않아 해당 문제가 발생한다.

 

 

 

[해결방법]

 

 1. @Import 로 해결

  @DataJpaTest 가 붙은 곳에, 추가적으로 @Import(작성한 Config클래스명.class ) 를 추가 해준다. 

 

 2. @SpringBootApplication 이 붙은 곳에 @JpaAuditing 을 달아준다. 

  추천하지 않는 방법이다. 

 

  Jpa에 관련된 Config, 보안에 관련된 Config 등 Config 들을 따로 각각 분리시키는 이유는

  단위테스트에서 필요한 Context만 불러오기 위함이다.

 

  @SpringBootApplication 에 @JpaAuditing 을 붙이는 순간 모든 테스트에서 @JpaAuditing 이 호출되므로 좋지 않다. 

728x90