addAll 如何与模拟分页查询一起使用

Joe*_*Joe 3 amazon-dynamodb

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

List exampleList = secondList.addAll(dynamoDbMapper.query(MyDAOClass.class, queryExpression));
Run Code Online (Sandbox Code Playgroud)

我尝试模拟PaginatoredQueryList但收到空指针异常,因为模拟的PaginatoredQueryList中的元素为空。

请问有什么建议吗?

小智 6

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

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

    @Mock private PaginatedQueryList<Object> queryResult;

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

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

  3. 通过使用预期列表数组(例如,firstList)模拟分页结果,将结果设置为分页结果。

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

  4. 将结果添加到 secondaryList 中。

    List exampleList = secondList.addAll(firstlist)