[Spring] @SpringBootTest에서 환경이 다른 여러 테스트 실행 시 DDL을 여러번 실행하는 오류 트러블 슈팅하기
·
Spring/기타
❌ 문제 상황 테스트 시에 각각 개별 테스트는 통과했지만, 모든 테스트를 한 번에 돌리니 오류가 발생했다. 대충 요약하면, 이미 DB에 테이블이 초기화가 되어 있는데 DDL을 다시 재실행해서 테이블을 생성하려고 하니 오류가 발생한 것이다. 왜 이런 상황이 발생하는 것일까? 엄청 많이 파봤지만, 문제가 발생하는 정확한 원인을 찾지 못해서 깊게 파보면서 대충 예상해본 원인을 말해보겠다! (그래서 틀릴 수도 있다 ㅠㅠ) 🎯 @SpringBootTest의 ApplicationContext 생성 스프링에서는 @SpringBootTest을 실행하면 ApplicationContext를 생성해서 모든 스프링 빈들을 등록한다. 이때, 모든 테스트를 돌릴 때 @SpringBootTest를 실행할 때마다 Applicati..
[Spring] SpringBoot 테스트 시 @WebMvcTest와 @SpringBootTest의 차이
·
Spring/기타
Junit 테스트 시에 @WebMvcTest와 @SpringBootTest를 대표적으로 사용하는데, 두 가지 Test 어노테이션의 차이가 존재한다고 한다. SpringBoot 테스트 시에 두 가지 어노테이션의 차이를 살펴보자. 먼저 Mock과 MockMvc에 대해서 알아보자. ※ Mock이란? 실제 객체를 만들어서 테스트하기가 어려운 경우에, 가짜 객체를 만들어서 테스트하는 기술이다. ※ MockMvc란? MVC에 관련된 Mock 가짜 객체를 말한다. 웹 어플리케이션을 애플리케이션 서버에 배포하지 않고, 테스트용 MVC 환경을 만들어서 요청 및 전송, 응답 기능을 제공해주는 객체이다. 대부분의 어플리케이션 기능을 테스트하기 위해서는 MockMvc 객체를 만들어서 테스트하게 되는데, MockMvc를 @Au..
BE_성하
'@SpringBootTest' 태그의 글 목록