@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

+ Recent posts