JAVA

[Spring] @SpringBootTest, @Transactional

milna 2023. 10. 25. 04:37
@SpringBootTest
@Transactional
class MemberServiceIntegrationTest {
 @Autowired MemberService memberService;
 @Autowired MemberRepository memberRepository;
 
 ...

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

 

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

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

 

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