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 我可以在一行中做到这一点:
assertThat(actual, everyItem(containsString("alex")));
但是在 AssertJ 中,无论如何我都必须手动遍历列表。