AssertJ:一种检查对象字段值是否包含特定模式(正则表达式)的方法

Art*_*tul 2 java junit assertj

嗨,Java 大师和 AssertJ 大师,

我想问 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...");

Run Code Online (Sandbox Code Playgroud)

请注意,我并不期待“

...containsAnElementWith("some regular expressions here...");"
Run Code Online (Sandbox Code Playgroud)

成为一个现有的方法(如果有的话,实际上会更好),但这可以是assertj或junit中的一个功能/方法,我可以用它来简化单元测试自动化,而不是循环其中一个进行一场比赛。


干杯