我有一个使用queryDSL生成查询的方法。
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测试此方法?
发布于 2021-10-24 10:00:40
该方法是数据访问层。为了测试数据层访问代码,最好使用实际的DB实例来测试它,而不是使用模拟,因为最终您仍然需要验证它是否真的可以正确地从实际数据库中获取数据,而这是最合适的地方。
你可以向Testcontainers查询。它允许您使用DB的容器化实例进行测试。启动这个DB容器后,您只需将一些测试数据加载到相关的表中,调用此方法,直接验证返回数据的正确性。
https://stackoverflow.com/questions/69692313
复制相似问题