【问题标题】:SpringBoot unit test using JPA and JOOQ使用 JPA 和 JOOQ 的 SpringBoot 单元测试
【发布时间】:2022-11-13 08:11:48
【问题描述】:

我必须从以下代码库开始:一个普通的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。为了做到这一点,我不得不在 TokenOrderRepositoryCustomImpl 中使用 JOOQ 的 DSLContext

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

问题是现在我有一个同时使用 JPA 和 JOOQ 的混合存储库,我不知道如何修改 TokenOrderRepositoryTest 的配置以适应它。

您的指导将不胜感激。谢谢!

【问题讨论】:

    标签: spring-boot unit-testing jpa jooq


    【解决方案1】:

    我终于通过导入为 JPA 测试定义 DSLContext 的配置解决了这个问题。我不知道这是否是完美的方法,但它可以毫不费力地工作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 2021-10-24
      • 2017-06-23
      • 1970-01-01
      • 2019-04-22
      • 2021-05-16
      • 2023-03-23
      相关资源
      最近更新 更多