46.3.13 자동 구성된 JDBC 테스트들

@JdbcTest는 @DataJpaTest와 유사하지만 DataSource 만 필요로하고 Spring Data JDBC는 사용하지 않는 테스트 용입니다. 기본적으로 인 메모리 내장 데이터베이스와 JdbcTemplate을 구성합니다. 일반 @Component 빈은 ApplicationContext로 로드되지 않습니다.

@JdbcTest가 사용할 수있는 자동 구성 목록은 부록에서 찾을 수 있습니다.

기본적으로 JDBC 테스트는 트랜잭션이며 각 테스트가 끝날 때 롤백됩니다. 자세한 내용은 Spring Framework 참조 문서의 관련 섹션을 참조하십시오. 그것이 원하는 것이 아닌 경우 다음과 같이 테스트 또는 전체 클래스에 대한 트랜잭션 관리를 사용하지 않도록 설정할 수 있습니다.

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@RunWith(SpringRunner.class)
@JdbcTest
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public class ExampleNonTransactionalTests {

}

실제 데이터베이스에 대해 테스트를 실행하려면 DataJpaTest와 같은 방법으로 @AutoConfigureTestDatabase 어노테이션을 사용할 수 있습니다. (46.3.12 절. "Section 46.3.12, “Auto-configured Data JPA Tests"참조).

Last updated