【发布时间】:2017-11-13 06:13:37
【问题描述】:
我在我的 spring boot 项目中使用 spring data jpa。
我正在触发 JPQL 查询并使用投影来存储查询结果。 我的投影:
public interface VeryBasicProjection {
String getTitle();
String getUrl();
}
我的服务调用这个投影:
public List<VeryBasicDTO> getLatestData(int limit){
// Pageable for Limit
Pageable pageable = new PageRequest(0, limit);
// Get Data from DB
List<VeryBasicProjection> latestData = tableRepository.getLatestData("live", 2,pageable);
List<VeryBasicDTO> responseDTO = new ArrayList<>();
// Map Projection to DTO
for(VeryBasicProjection veryBasicProjection : latestData){
VeryBasicDTO veryBasicDTO = new VeryBasicDTO();
veryBasicDTO.buildDTO(veryBasicProjection);
responseDTO.add(veryBasicDTO);
}
return responseDTO;
}
现在我想使用 Mockito(单元测试用例)测试此服务 我在嘲笑对存储库的调用 使用 when 和 thenReturn。
我的问题是如何模拟存储库的结果?那么应该返回什么?我的意思是如何为它创建投影实例和 setData?
【问题讨论】:
-
创建一个实现接口的类,或者使用Mockito创建接口的mock实例。