输入:
带有MyElement的的
目的是使以下语句可编译:
Collection<MyElement> elements = ...
Collection<TypeSafeMatchert> matchers = ...
assertThat(elements, Matchers.contains(matchers); //<error here
在这里有什么用?它要我输入
Matcher<? super java.util.List<MyElement>>
,并告诉我我确实通过了Matcher<java.lang.Iterable<? super java.util.List<MyElement>>>
。那么如何在这里通过Matcher Collection?关于将集合与hamcrest进行比较,有一个question,但是没有传递Matchers集合的示例,而不是元素。
最佳答案
除了定义Collection
的TypeSafeMatchers
之外,您还需要定义以下内容:
List<Matcher<? super MyElement>> matchers = ...;
这样,
Hamcrest
将知道您想要什么。