강의

멘토링

로드맵

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

wogur0824님의 프로필 이미지
wogur0824

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 통합 테스트

@Transational 질문입니다.

작성

·

394

0

강의 10분 36초에 나온 @Transational에 대해 질문이 있습니다. test 케이스에 저 어노테이션을 붙이면 테스트 완료후에 항상 롤백을 한다고 알려주셨는데 그럼 이제 @AfterEach 나 @BeforeEach는 안써주고 @Trasational만 붙이면 되는건지 궁금합니다.

퀴즈

순수 JDBC를 사용할 때, 데이터베이스 리소스(연결, Statement 등) 관리가 어려웠던 주된 이유는 무엇일까요?

SQL 쿼리를 직접 작성해야 해서

각 리소스를 사용 후 반드시 직접 닫아줘야 해서

테스트 간 데이터 독립성을 보장하기 어려워서

의존성 주입 설정이 복잡해서

답변 1

0

안녕하세요. wogur0824님, 공식 서포터즈 OMG입니다.

테스트에서 @Transactional은 테스트 시작 시 트랜잭션을 시작하고 테스트 종료 시 롤백하여 동일한 테스트 환경을 갖출 수 있게 세팅합니다.

본 강의에서는 DB와 연동되는 통합테스트여서 @Transactional로 처리가 되었지만,

DB 연동 안되는 순수 자바 테스트라고 가정한다면,

@BeforeEach 와 @AfterEach로 동일한 테스트 환경을 구성해야합니다.

아예 대체할 수 있다고 보시면 되면 안될 것 같아요.


감사합니다.

wogur0824님의 프로필 이미지
wogur0824

작성한 질문수

질문하기