首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mockito QueryDSL

Mockito QueryDSL
EN

Stack Overflow用户
提问于 2021-10-23 21:48:33
回答 1查看 67关注 0票数 0

我有一个使用queryDSL生成查询的方法。

代码语言:javascript
复制
public List<EntityDAO> getObject() {
        QEntity entity = QEntity.entity;
        JPAQueryFactory queryFactory = getJPAQueryFactory();

        JPAQuery<EntityDAO> query = queryFactory
                             .select(Projections.bean(EntityDAO.class, 
                              entity.propertyA,
                              entity.propertyB.count().as("count")))
                             .from(entity)
                             .where(predicateBuilder.build())
                             .groupBy(entity.propertyA)
                             .orderBy(order)
                             .limit(rowCount)
                             .offset(pageId*rowCount);
       return query.fetch();
}

如何使用Mockito测试此方法?

EN

回答 1

Stack Overflow用户

发布于 2021-10-24 10:00:40

该方法是数据访问层。为了测试数据层访问代码,最好使用实际的DB实例来测试它,而不是使用模拟,因为最终您仍然需要验证它是否真的可以正确地从实际数据库中获取数据,而这是最合适的地方。

你可以向Testcontainers查询。它允许您使用DB的容器化实例进行测试。启动这个DB容器后,您只需将一些测试数据加载到相关的表中,调用此方法,直接验证返回数据的正确性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69692313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档