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