46.3.15 자동 구성된 JOOQ 테스트들

JOOQ (Java Object Oriented Querying)

자바 코드로 SQL을 작성할 수 있게 해주는 기술 (JPA와 마찬가지로 데이터베이스에 상관 없이 사용 가능)

[참고 사이트] https://jason-moon.tistory.com/131

@JdbcTest와 비슷한 방식으로 @JooqTest를 사용할 수 있지만 jOOQ 관련 테스트에 사용할 수 있습니다. jOOQ는 데이터베이스 스키마와 일치하는 Java 기반 스키마에 크게 의존하므로 기존 DataSource가 사용됩니다. 메모리 내 데이터베이스로 바꾸려면 @AutoConfigureTestDatabase를 사용하여 해당 설정을 재정의 할 수 있습니다. (스프링 부트와 함께 jOOQ를 사용하는 것에 대한 더 자세한 내용은 이 장 앞부분의 "Section 31.6, “Using jOOQ "를 참조하십시오.) 일반적인 @Component 빈은 ApplicationContext로 로드되지 않습니다.

@JooqTest에 의해 활성화 된 자동 구성 목록은 부록에서 찾을 수 있습니다.

@JooqTest는 DSLContext를 구성합니다. 일반 @Component 빈은 ApplicationContext로 로드되지 않습니다. 다음 예제는 사용 중인 @JooqTest 주석을 보여줍니다.

import org.jooq.DSLContext;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.jooq.JooqTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@JooqTest
public class ExampleJooqTests {

	@Autowired
	private DSLContext dslContext;
}

JOOQ 테스트는 트랜잭션 방식이며 기본적으로 각 테스트가 끝날 때 롤백됩니다. 이것이 원하는 것이 아니라면, JDBC 예제에서 볼 수 있듯이 테스트 또는 전체 테스트 클래스에 대한 트랜잭션 관리를 사용 불가능하게 할 수 있습니다.

Last updated