목차
- Spring Test - @WebMvcTest
- Spring Test - @DataJpaTest
- Spring Test - @WithMockUser, @WithAnonymousUser
@DataJpaTest
JPA 테스트를 진행하기 위해 사용하는 어노테이션, JPA component 들만 관리하기 때문에 JPA test 시 관련된 Configuration 들만이 적용된다.
- 각 Test 를 진행할때마다 하나의 Transaction 에서 수행되고 Test 가 끝나면 Roll-back 을 진행한다.
- @Transactional 기능이 필요하지 않으면 @Transactional(propagation = Propagation.NOT_SUPPORTED) 설정
- Test 진행시 Embedded In Memory Database 로 진행한다.
- @AutoConfigureTestDatabase 을 이용하면 Test 시 특정 Database 를 사용할 수 있다.
@DataJpaTest 를 이용한 Test 코드 작성
|