728x90
반응형
SMALL
문제
Controller 테스트중 해당 메시지가 뜨면서 테스트가 실패한다.
@ExtendWith(MockitoExtension.class)
@WebMvcTest(controllers = {TaskController.class})
public class TaskControllerTest {
@Autowired
private MockMvc mvc;
@MockBean
private TaskServiceImpl taskService;
@MockBean
private TaskRepository taskRepository;
//...
}
원인
@EnableJpaAuditing
@SpringBootApplication(exclude={SecurityAutoConfiguration.class})
public class PmsRenewalApplication {
public static void main(String[] args) {
SpringApplication.run(PmsRenewalApplication.class, args);
}
}
어플리케이션 시작시에 @EnableJpaAuditing이 항상 같이 로드되는데
대부분의 테스트를 필요로 하는 기능들이 @EnableJpaAuditing을 Bean으로 사용하고 있는 상태이다.
@WebMvcTest 은 JPA 관련 Bean을 로드하지 않기 때문에 발생하는 문제라고 한다.
해결
@MockBean(JpaMetamodelMappingContext.class)
를 추가하자
@ExtendWith(MockitoExtension.class)
@WebMvcTest(controllers = {TaskController.class})
@MockBean(JpaMetamodelMappingContext.class)
public class TaskControllerTest {
728x90
반응형
LIST
'SPRING > JPA' 카테고리의 다른 글
웹 애플리케이션과 영속성 관리 (0) | 2022.03.30 |
---|---|
객체지향 쿼리언어 (0) | 2022.03.26 |
JPA 상에서의 코드성데이터 처리방법중 하나 (0) | 2022.03.21 |
프록시와 연관관계 & 값 타입 (0) | 2022.03.21 |
다양한 연관관계 매핑 정리 (0) | 2022.03.17 |