AssertJ に Hamcrest の everyItem() の類似物はありますか?
メールのリストがあり、アサーションを実行して、各メールに部分文字列「alex」が含まれていることを確認する必要があります。現在、AssertJ で実行できる唯一の方法は次のとおりです。
List<String> actual = Arrays.asList("alex@gmail.com", "alex1@gmail.com", "ale2@hotmail.com", "bred@gmail.com");
SoftAssertions softly = new SoftAssertions();
for(String email: actual ) {
softly.assertThat(email).contains("alex");
}
softly.assertAll();
ソフト アサーションがなくても実行できますが、リストのすべての項目を確認したいと思います。
これを行うよりコンパクトな方法はありますか?具体的には、AssertJ でリストの各項目が部分文字列と一致することを確認する方法はありますか?
Hamcrest では、1 行で実行できます。
assertThat(actual, everyItem(containsString("alex")));
しかし、AssertJ では、リストを手動で反復処理する必要があるように見えます。