我在探索 Java 8 上 AssertJ 3.5.2 中 Condition 类的使用时遇到了这个问题。我可以为一般类型的 List 创建一个 Condition 实例,但是当我尝试使用它时在 Eclipse 中收到错误消息:
Condition<List<MyBean>> listCond =
new Condition<>(list -> true, "test"); // OK
this.assertThat(myList).has(listCond); // DOES NOT COMPILE
我得到的错误信息是:
The method has(Condition<? super List<? extends MyBean>>) in the type
AbstractListAssert<capture#8-of ?,List<? extends MyBean>,MyBean,ObjectAssert<MyBean>> is not
applicable for the arguments (Condition<List<MyBean>>)
AssertJ 中是否有针对这种或另一种方法的解决方案来对列表进行整体检查(不仅仅是逐项检查,而是基于序列或聚合的检查)?