如何测试 CriteriaBuilder 查询?

How do I test CriteriaBuidler queries?

如果我有一个方法需要测试,该方法依赖于使用 criteriaBuilder 和 criteriaQuery 进行的查询,我该怎么做?我遇到的问题是,在测试环境中的 entityManager 中将为 null。模拟 EntityManager.class 只会给我一个标准构建器为空的实体管理器。使用 where(...).thenReturn()... 会破坏测试的目的,因为它依赖于 criteriaQuery.

实体管理器不一定为空。您可以使用带有一些初始数据的 H2 数据库来执行具有测试范围的测试用例。您也可以参考 link 寻求帮助。 link