模拟返回Page interface的方法

San*_*a J 15 java junit mockito powermockito

我有一个方法,我需要编写单元测试用例.该方法返回一个Page类型.

我该如何模仿这种方法?

方法:

public Page<Company> findAllCompany( final Pageable pageable )
{
    return companyRepository.findAllByIsActiveTrue(pageable);
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

Dar*_*hta 26

您可以使用 Mock响应或实际响应,然后使用when,例如:

Page<Company> companies = Mockito.mock(Page.class);
Mockito.when(companyRepository.findAllByIsActiveTrue(pageable)).thenReturn(companies);
Run Code Online (Sandbox Code Playgroud)

或者,只是实例化类:

List<Company> companies = new ArrayList<>();
Page<Company> pagedResponse = new PageImpl(companies);
Mockito.when(companyRepository.findAllByIsActiveTrue(pagedResponse)).thenReturn(pagedResponse);
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,“可分页”是什么?存储库方法findAllCompany可以访问它,但测试没有。我也想模拟那个`Pageable pageable`参数,以及`Page`返回类型。 (2认同)