인프런 커뮤니티 질문&답변

신홍철님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

JPA와 DB 설정, 동작확인

@Rollback 관련해서 질문있습니다.

해결된 질문

작성

·

257

0

이전 강의들에서 테스트하면서 반복테스트를 위해서 

@AfterEach 애노테이션을 적용해서 사용했던 저장소나 공용 데이터를 정리해줬었는데, 혹시 @Rollback(true)로 설정을 하면 같은 기능을 하는지 알고싶습니다. 

추가로, @Rollback(false)로 테스트가 끝난 후에 롤백하는걸 막아준다고 하셨는데, 이는 스프링 부트가 알아서 테스트 종료후 롤백을 해주는건가요?? 만약 그렇다면 그 메커니즘은 어떻게 되는지 궁금합니다.

답변 2

1

신홍철님의 프로필 이미지
신홍철
질문자

답변 정말 감사합니다!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 홍철님

@AfterEach 애노테이션을 적용해서 사용했던 저장소나 공용 데이터를 정리해줬었는데, 혹시 @Rollback(true)로 설정을 하면 같은 기능을 하는지 알고싶습니다. 

-> 맞습니다^^

추가로, @Rollback(false)로 테스트가 끝난 후에 롤백하는걸 막아준다고 하셨는데, 이는 스프링 부트가 알아서 테스트 종료후 롤백을 해주는건가요?? 만약 그렇다면 그 메커니즘은 어떻게 되는지 궁금합니다.

-> 스프링 부트가 테스트 케이스에서 @Transactional을 사용한 경우에 한해서 자동으로 롤백을 해줍니다.

감사합니다.