@WebMvcTest를 사용해도 @SpringBootApplication을 통해 애플리케이션 컨텍스트를 설정한다. 하지만 @SpringBootTest와 다르게 웹 계층 관련 빈들만 등록한다.
따라서 만약 @EnableJpaAuditing이 @SpringBootApplication과 함께 붙어있으면 @WebMvcTest 시에 AuditingHandler 및 관련 빈들을 애플리케이션 컨텍스트에 등록하며, JPA 메타모델을 필요로 하게 된다.
하지만 @WebMvcTest는 jpa 엔티티나 repository 관련 빈들은 등록하지 않으므로 jpa 메타 모델이 비어있게 되서 오류가 발생한다.
이를 해결하기 위해선 @WebMvcTest가 빈으로 로드하지 않는 @Configuration 클래스 파일을 따로 만들어서 @EnableJpaAuditing 애너테이션을 @SpringBootApplication에서 떼줘야 한다.
@Configuration
@EnableJpaAuditing
public class JpaConfig {
}
'Spring Boot > testing' 카테고리의 다른 글
테스트 픽스처(Test Fixture) (0) | 2025.02.01 |
---|---|
통합 테스트 @SpringBootTest vs @DataJpaTest (0) | 2025.02.01 |
RestController 단위 Testing (0) | 2024.11.13 |
Database Intrgration Testing (0) | 2024.11.12 |
Mock을 통한 Throwing Exception (0) | 2024.11.11 |