【问题标题】:Mocking a method which returns Page interface模拟返回页面接口的方法
【发布时间】:2017-07-19 11:03:30
【问题描述】:

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

如何模拟这个方法?

方法:

public Page<Company> findAllCompany( final Pageable pageable )
{
    return companyRepository.findAllByIsActiveTrue(pageable);
}

感谢您的帮助

【问题讨论】:

  • when(companyRepository.findAllByIsActiveTrue(pageable)).thenReturn(your_mock_page_object);

标签: java junit mockito powermockito


【解决方案1】:

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

Page<Company> companies = Mockito.mock(Page.class);
Mockito.when(companyRepository.findAllByIsActiveTrue(pageable)).thenReturn(companies);

或者,只是实例化类:

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

【讨论】:

  • 在这种情况下pageable 是什么?存储库方法 findAllCompany 可以访问它,但测试没有。我也想模拟 Pageable pageable 参数以及 Page 返回类型。
  • @DarshanMehta - 你能在这里指导我吗:stackoverflow.com/questions/56135373/…
  • 它会给出一个什么都没有的页面吗?那为什么要使用呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-05
  • 1970-01-01
相关资源
最近更新 更多