addAll如何与mocked paginated查询一起使用

时间:2018-04-24 23:58:40

标签: amazon-dynamodb

我必须将PaginatedQueryList添加到来自dynamoDbMapper.query的secondList进行测试。我怎样才能实现它?

List exampleList = secondList.addAll(dynamoDbMapper.query(MyDAOClass.class, queryExpression));

我试图模仿 PaginatedQueryList ,但我得到空指针异常,因为模拟 PaginatedQueryList 中的元素为空

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作,它将起作用:

  1. 为分页结果创建模拟。

    @Mock private PaginatedQueryList<Object> queryResult;

  2. 调用查询时返回模拟结果。

    when(dynamoDBMapper.query(any(), any())).thenReturn(queryResult);

  3. 通过使用预期列表数组(例如firstList)对结果进行分页来设置分页结果。

    when(queryResult.toArray()).thenReturn(firstList);

  4. 将结果添加到secondList中。

    List exampleList = secondList.addAll(firstlist)