인프런 커뮤니티 질문&답변
test어노테이션이 붙어있고 transactional어노테이션이 붙어있는 경우에 매번 롤백하나요?
작성
·
230
1
서비스 클래스에 transactional 어노테이션 붙여져 있어도 test코드에서 또 transactional 어노테이션 붙이잖아요 그 이유가 테스트를 여러번 수행해야하고 그때마다 테스트 시 변경한 것들을 되돌려놔야하는데 저 어노테이션이 있으면 롤백해서 그런거라는 답변을 들었는데 test인 어노테이션이 붙어있는 경우에는 롤백을 하는건가요? 원래같으면 뭔가가 잘못된 경우에 롤백하잖아요 수행시마다 롤백하는게 아니라
답변 1
0
안녕하세요. 김민지님, 공식 서포터즈 OMG입니다.
네, 테스트에서 @Transaciotnal이 붙어있는 경우 롤백을 진행하며, 다음과 같이 롤백 기능을 제어할 수 있습니다.
또한 말씀하신 내용 중 테스트코드에선 @Transactional을 선언했지만 실제 구현 코드에서 누락이 된 경우에 대해선 테스트는 성공하더라도 예외가 발생할 수 있습니다.
아래 잘 정리된 글을 보시면 많은 도움 되리라 생각합니다.





