본문 바로가기

JAVA

[Spring] @SpringBootTest, @Transactional

@SpringBootTest
@Transactional
class MemberServiceIntegrationTest {
 @Autowired MemberService memberService;
 @Autowired MemberRepository memberRepository;
 
 ...

@SpringBootTest : Test 클래스에 @SpringBootTest 를 붙여주면 스프링 컨테이너와 테스트를 함께 실행한다.

 

@Transactional : 테스트 시작 전에 트랜잭션을 시작하고 테스트 완료 후에 항상 롤백한다.

@Transactional를 사용하면 @BeforeEach, @AfterEach 애노테이션을 사용하지 않아도 DB에 데이터가 남지 않아 다음 테스트에 영향을 주지 않는다.

 

* 트랜잭션 (transaction) : 데이터베이스의 상태를 변경하는 논리적 작업 단위

'JAVA' 카테고리의 다른 글

[Spring boot] 라이브러리  (1) 2023.10.25
[Spring] AOP  (0) 2023.10.25
[Spring] jdbc.datasource.DataSourceUtils가 import 되지 않는 오류  (0) 2023.10.25
[Spring] 스프링 빈과 의존관계  (0) 2023.10.25
[Spring] @AfterEach, @BeforeEach  (0) 2023.10.24