AssertJ:集合包含值以字符串结尾的元素

Bar*_*ney 2 java assertj

我想检查正在测试的集合是否包含以特定字符串结尾的任何元素。

对于 Hamcrest,它可能是这样的:

assertThat("Contains an element ending with 'xyz'", 
               myCollection, hasItems(endsWith("xyz")));
Run Code Online (Sandbox Code Playgroud)

如何使用 AssertJ 做同样的事情?

Joe*_*ola 8

您可以使用anyMatch(Predicate)anySatisfy(assertions on elements),例如:

assertThat(myCollection).as("Contains an element ending with 'xyz'") 
                        .anyMatch(element -> element.endsWith("xyz"));
Run Code Online (Sandbox Code Playgroud)