[英]Mockito ambiguous method call
I'm trying to stub out a method call, eg我正在尝试排除一个方法调用,例如
when(amazonDynamoDBClient.batchWriteItem(anyObject())).thenReturn(batchWriteItemResultMock);
I get this error我收到这个错误
Error:(198, 34) java: reference to batchWriteItem is ambiguous
both method batchWriteItem(com.amazonaws.services.dynamodbv2.model.BatchWriteItemRequest) in com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient and method batchWriteItem(java.util.Map<java.lang.String,java.util.List<com.amazonaws.services.dynamodbv2.model.WriteRequest>>) in com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient match
I can't see how this is ambiguous - the method signatures are different, ie我看不出这是如何模棱两可的 - 方法签名是不同的,即
public BatchWriteItemResult batchWriteItem(BatchWriteItemRequest request) {
and和
public BatchWriteItemResult batchWriteItem(Map<String, List<WriteRequest>> requestItems) {
What am I doing wrong here?我在这里做错了什么?
You have two methods with the same name and return type, each with one parameter.您有两个具有相同名称和返回类型的方法,每个方法都有一个参数。 So
anyObject()
matches both of them.所以
anyObject()
匹配他们两个。 That's why you get the batchWriteItem is ambiguous
message.这就是为什么您会收到
batchWriteItem is ambiguous
消息。
You could use Mockito.any(Class<T> type)
and Mockito.anyMapOf(Class<K> keyClazz, Class<V> valueClazz)
to distinguish between them.您可以使用
Mockito.any(Class<T> type)
和Mockito.anyMapOf(Class<K> keyClazz, Class<V> valueClazz)
来区分它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.