Junit mockito 測試Controller層方法有Pageable異常

1、問題

在使用MockMVC+Mockito模擬Service層返回的時候,當我們在Controller層中參數(shù)方法調(diào)用有Pageable對象的時候,我們會發(fā)現(xiàn),我們沒辦法生成一個Pageable的對象,會報一個Pageable是一個接口的錯誤。當我們把所有的參數(shù)從Pageable接口變成Pageable的實現(xiàn)類PageRequest的時候,所有的方法參數(shù)都換成PageRequest,又會出現(xiàn)一個新的錯誤,且不說PageRequest不能作為參數(shù)用于hibernate的分頁查詢,另一方面,它沒有構造方法,也無法初始化。

2、代碼

1)controller代碼,主要是 

復制代碼
@RequestMapping("/banners") public DataMap showBanners(BannerQuery bannerQuery, @PageableDefault(sort = "createdAt", direction = Sort.Direction.DESC) Pageable pageable) {
        Page<Banner> page = bannerService.findPage(bannerQuery, pageable); return new DataMap().addAttribute(Constants.STATUS_CODE, StatusCode.SUCCESS.getStatusCode())
                .addAttribute(Constants.DATA, page);
    }
復制代碼

 

2)測試方法: 

網(wǎng)友評論