5

我想使用 Hamcrest 的hasItems“实际”ArrayList<? extends SomeInterface> 系列

assertThat(ArrayList<? extends SomeInterface>, hasItems(InstanceOfSomeInterface))

编译器说:

assertThat(T, Matcher<T>)类型中的方法Assert不适用于参数(ArrayList<capture#9-of ? extends MyInterface>, Matcher<Iterable<MyInterface>>)

出了什么问题?我该怎么办(我真的很想在这里使用 Hamcrest)?

4

1 回答 1

4
ArrayList<SomeInterface> newList = new ArrayList<SomeInterface>();
newList.addAll(origList);
assertThat(newList, hasItems(InstanceOfSomeInterface));

不幸的是 Assert.assertThat 没有使用? 超级?扩展以允许您描述的内容。

于 2011-09-14T10:41:50.363 回答