반응형
1. 문제점
Repository 계층을 @DataJpaTest를 이용해 테스트하다
아래와 같은 에러가 발생했다. 메시지를 보면 db에 반영될 때 자동으로 값을 주입해주는 auditing기능이 제대로 작동하지 않는 것을 알 수 있습니다.
이전에는 아래와 같이 @SpringBootApplication 위에 어노테이션이 위치해 있었다가
@EnableJpaAuditing
@SpringBootApplication
public class PracticeApplication {
public static void main(String[] args) {
SpringApplication.run(DosTicketApplication.class, args);
}
}
config를 따로 분리 시켜줬는데 config가 적용되지 않아 발생한 문제였습니다.
@DataJpaTest 는 jpa 테스트에 필요한 최소한의 빈을 불러온다.
@Configuration
@EnableJpaAuditing
public class JpaAuditingConfiguration {
}
2-1 해결방법 @Import
@Import(해당클래스이름.class)를 추가해줘서 테스트시 빈을 가져올 수 있도록 합니다.
2-2 해결방법 @SpringBoot
설정파일을 따로 분리하지 않고 @SpringBoot위에 @EnableJpaAuditing 어노테이션을 붙여줍니다.
@EnableJpaAuditing
@SpringBootApplication
public class PracticeApplication {
public static void main(String[] args) {
SpringApplication.run(DosTicketApplication.class, args);
}
}
테스트코드를 다시한번 돌려보면..!
정상적으로 테스트시 auditing 기능이 작동하는 것을 볼 수 있습니다.
반응형
'Backend > JPA' 카테고리의 다른 글
[JPA] 프록시, 지연로딩, 즉시로딩은 무엇인가? (0) | 2024.06.17 |
---|---|
[JPA] Spring Data JPA란? (0) | 2024.06.12 |
[JPA] 영속성 컨텍스트 (0) | 2023.07.24 |
[JPA] JPA란 무엇일까? (0) | 2023.07.17 |
[JPA] JPA Auditing 기능을 이용한 생성, 수정일자 자동화 (0) | 2023.06.19 |