如何断言数组中某个值的存在

How to assert on the existence of a certain value in an array

class Configuration { String name, String type }
Configuration[] configurations = ..

我想进行断言检查以查看数组是否在名称字段中包含特定值(比如名称 =“任何”)。我们目前正在循环数组来检查这个,什么是优雅的方式

使用流 API:

assertTrue(Arrays.stream(configurations).anyMatch(c -> "Any".equals(c.name));

使用 Streams API and a method reference 的另一个细微变化:

assertTrue(Arrays
    .stream(configurations)
    .map(c -> c.name)
    .anyMatch("ValueToLookFor"::equals));

使用AssertJ:

assertThat(configurations).extracting(Configuration::getName).contains("Any");

或者您可能更喜欢:

assertThat(configurations).anyMatch(c -> "Any".equals(c.name));