【发布时间】:2021-01-05 14:34:59
【问题描述】:
我有一个扩展 AbstractService 的 TaskService。
在 abstractService 中,我有一个方法 getCurrentUserRoleEntity 被服务中的不同方法使用。此方法使用存储库来查找当前角色。
在我的任务服务中,我有一种方法可以找到当前用户角色和类别的任务, 该方法有 2 个参数,caegoryId 和 getCurrentUserRoleEntity 方法。
public List<Task> findTaskByCategoryIdForCurrentUserRole(Long categoryId) {
return vTacheAffaireRepository.findTaskByCategoryIdForCurrentUserRoleOrderByEcheanceAscTacheIdAsc(categoryId, getCurrentUserRoleEntity().getId())
.stream().map(vTaskMapper::toDto).collect(Collectors.toList());
}
当我测试调用服务的其余资源时,我想模拟 getCurrentUserRoleEntity 以使用我的测试实体而不是使用真实方法。
我尝试了不同的方法,但没有一个能满足我的需求。 你知道在休息测试期间如何模拟这个方法吗?
谢谢,
【问题讨论】:
-
为什么不直接模拟超类使用的存储库?