使用hamcrest和java 8,最简单的方法(一个班轮)断言一个集合包含一个具有一组特定要求的元素? 我希望能够检索元素(如果存在),并一次性(以可读形式)对其进行一些测试。 或者至少断言一个列表包含一个特定的元素,并一次性返回它,这样我就可以对它进行一些测试。
答案 0 :(得分:2)
使用AssertJ,我会尝试其中一种:
anySatisfy
(以Consumer
表示以信息性错误结尾的要求)anyMatch
(收取Predicate
,错误的信息量较少)hasOnlyOneElementSatisfying
(需要一个Consumer
,只需要一个元素匹配)haveAtLeastOne
(取Condition
就像一个Hamcrest macther)要获得单行,您可能需要将Condition
,Consumer
或Predicate
提取到变量/字段而不是内联。
按照javadoc链接,它们都有代码示例,说明如何使用它们。您还可以查看assertj-examples项目,AssertJ的展示。
希望有所帮助