Java Gurus和AssertJ Gurus,
我想问一问AssertJ中是否有一种方法可以验证对象列表中是否存在某个对象(例如ArrayList<TestObject> listOfTestObjects
)。特定对象的字段(getter方法的返回值)的值与模式或正则表达式模式匹配的地方。
有关更多详细信息,请参见下面的示例:
class TestObject {
private String stringValue;
public String getValue() {
return this.stringValue;
}
public void setValue(String newStringValue) {
this.stringValue = newStringValue;
}
}
ArrayList<TestObject> listOfTestObjects = new ArrayList<TestObject>();
// populate the list here...
assertThat(listOfTestObjects).extracting("value").containsAnElementWith("some regular expressions here...");
请注意,我不希望“
...containsAnElementWith("some regular expressions here...");"
成为现有方法(如果有的话,实际上可能会更好),但这可以是assertj或junit中的一个功能/方法,除了循环遍历一个方法外,我还可以用来简化单元测试自动化然后他们进行比赛。
干杯
答案 0 :(得分:3)
assertThat(listOfTestObjects).anyMatch(o -> o.getValue().matches(regex));