Mockito 区分模棱两可的 any() 集合与列表
Mockito Distinguish Ambiguous any() Collection vs List
我正在尝试模拟一个采用以下参数的重载方法:
Collection<Foo>
List<Pair<Foo, Bar>>
我的问题是我想 Mockito.when
获取基于列表的方法。但是如果我这样做 Mockito.anyList
那仍然是模棱两可的,因为那仍然是一个集合。
我试过 Mockito.any(List.class)
但这也有歧义,当我尝试 Mockito.any(List<Pair>.class)
时我无法从参数化类型中获取它。
如何区分它们? Mockito.listOf
看起来很有希望,但到目前为止还没有奏效。
您可以将参数匹配器保存在具有预期类型的变量中,从而解决歧义。
List<Pair<Foo, Bar>> listMatcher = ArgumentMatchers.anyList();
Mockito.when(myVar.doSth(listMatcher)).thenReturn(someValue);
您可以尝试这样的操作:ArgumentMatchers.<List<Pair<Foo, Bar>>>any()
我正在尝试模拟一个采用以下参数的重载方法:
Collection<Foo>
List<Pair<Foo, Bar>>
我的问题是我想 Mockito.when
获取基于列表的方法。但是如果我这样做 Mockito.anyList
那仍然是模棱两可的,因为那仍然是一个集合。
我试过 Mockito.any(List.class)
但这也有歧义,当我尝试 Mockito.any(List<Pair>.class)
时我无法从参数化类型中获取它。
如何区分它们? Mockito.listOf
看起来很有希望,但到目前为止还没有奏效。
您可以将参数匹配器保存在具有预期类型的变量中,从而解决歧义。
List<Pair<Foo, Bar>> listMatcher = ArgumentMatchers.anyList();
Mockito.when(myVar.doSth(listMatcher)).thenReturn(someValue);
您可以尝试这样的操作:ArgumentMatchers.<List<Pair<Foo, Bar>>>any()