使用JPA和JOOQ进行SpringBoot单元测试

6ju8rftf  于 2022-11-14  发布在  Spring
关注(0)|答案(1)|浏览(174)

我必须从下面的代码库开始:一个普通的JpaRepository,它还实现了在TokenOrderRepositoryCustom内部定义的更复杂的自定义JPQL查询

public interface TokenOrderRepository<T extends TokenOrderEntity> extends
       JpaRepository<T, Long>, 
       TokenOrderRepositoryCustom {
}

使用以下配置进行单元测试:

@DataJpaTest
@AutoConfigureTestDatabase (replace = AutoConfigureTestDatabase.Replace.NONE)
public class TokenOrderRepositoryTest {
}

现在,我不得不在TokenOrderRepository中添加一个使用窗口函数的复杂查询,我决定使用JOOQ

public class TokenOrderRepositoryCustomImpl implements TokenOrderRepositoryCustom {
    @Autowired
    private DSLContext jooqContext;
}

问题是,现在我有一个同时使用JPA和JOOQ的混合存储库,我不知道如何修改TokenOrderRepositoryTest的配置来适应这种情况。
非常感谢您的指导。谢谢!

vlju58qv

vlju58qv1#

最后,我通过导入为JPA测试定义DSLContext的配置来解决这个问题。

@DataJpaTest
@AutoConfigureTestDatabase (replace = AutoConfigureTestDatabase.Replace.NONE)
@Import(value = JOOQConfiguration.class)
public class TokenOrderRepositoryTest {
}

相关问题