假设我有一种将List<List<MyObject>>
作为参数的方法:
public void myFunction(List<List<MyObject>> listOfList) {}
我知道我可以将anyList()
用作匹配器,例如
verify(myClass).myFunction(anyList());
但是,我得到了不受组织的任务警告。我不能使用这两个匹配器产生编译错误:
// Fails - Expects just a single-layered List<MyObject>
verify(myClass).myFunction(anyListOf(MyObject.class));
// Fails - "no instance(s) of type variable(s) T exist so that List<T> conforms to Class<T>"
verify(myClass).myFunction(anyListOf(anyListOf(MyObject.class)));
那么,如何为类型List<List<T>>
的参数创建类型安全匹配器?
您可以使用Matchers.any()进行类型的安全匹配器,并使用类型进行资格:
Matchers.<List<List<MyObject>>>any()