43.3.12 自动配置的jOOQ测试

@JooqTest的使用方式同@JdbcTest相似,不过是给jOOQ相关的测试用的。由于jOOQ严重依靠与数据库模式相对应的基于Java的模式,既存的DataSource将会被使用。如果你想要用一个内存数据库代替它,你可以使用@AutoconfigureTestDatabase来覆盖那些设置。(在Spring Boot里使用jOOQ的更多信息,请查看章节 29.5 使用jOOQ。)

@JooqTest将会配置一个DSLContext。常规的@Componentbean将不会加载进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例子中的方式对一个测试或是整个类禁用事务管理。

附录中可以查看@JooqTest开启的自动配置列表。

最后更新于