-
[Spring JPA] Spring Test 에서 Auditing 이 안될때 (@DataJpaTest)Back End/Spring Data JPA 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'Back End > Spring Data JPA' 카테고리의 다른 글
[Spring JPA] 트랜잭션 로깅하기, 테스트 실행환경 분리하기 (yml, properties) (0) 2021.12.24 [Spring JPA] JPA에서 Lazy loading 은 도대체 어떻게 이루어지는 걸까? (0) 2021.12.24 [Spring JPA] 왜 테스트코드와 실제 어플리케이션코드가 실행이 다르게 될까? (0) 2021.12.24 [Spring JPA] JPA의 사실과 오해 (feat. NHN Cloud) (0) 2021.12.23 [Spring JPA] Setter를 사용하지 않는다. (0) 2021.11.30