我正在尝试模拟外部调用以及 ArgumentMatcher 以将输入值与请求匹配。但是当我试图从 ArgumentMatcher 对象中获取地图时,它给了我一个空值。
Mockito.when(
dynamoDbMapper.scanPage(eq(ABC.class), argThat(new ArgumentMatcher<DynamoDBScanExpression>() {
@Override
public boolean matches(Object argument)
{
DynamoDBScanExpression scanExp = (DynamoDBScanExpression) argument;
Assert.assertEquals("5", scanExp.getLimit());
Assert.assertEquals("xyz",scanExp.getFilterExpression());
Assert.assertEquals(new HashMap(), scanExp.getExpressionAttributeNames());
return true;
}
}))).thenReturn(prepareScanResponse());
这个表达式 scanExp.getExpressionAttributeNames() 理想情况下应该返回一个地图,但给我一个空值。
所以假设我必须模拟一个输入包含地图的请求,然后尝试在包含地图作为属性的那个 inout 对象上实现 ArgumentMatcher,我该怎么做?