AssertJ + 验证 subList 中返回的项目包含将出现在任何列表项中的字符串

标签 assertj

我有要求,在我的回复中说我得到的结果列表为“澳大利亚布里斯类”、“澳大利亚悉尼”和“澳大利亚墨尔本”。现在我需要测试一下,结果在三个结果中的任何一个中都包含“sydney”。

softAssertions.assertThat(resultArrayList.subList(0, 3))
              .extracting("title")
              .as("Title match")
              .containsAny(expectedTitle);

请提出建议。

最佳答案

这可以通过 allSatisfy 来完成.

softAssertions.assertThat(resultArrayList.subList(0, 3))
          .extracting("title")
          .as("Title match")
          // assuming titles are String, use contains String assertion
          .allSatisfy(cities -> cities.contains("sydney"));

关于AssertJ + 验证 subList 中返回的项目包含将出现在任何列表项中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54217613/

相关文章:

java - assertThatThrownBy() 检查自定义异常的字段

junit - assertThat() 总是成功的

intellij-idea - 在 IntelliJ IDEA 中运行测试时出现 java.lang.NoSuchMethodError

java - 是否可以使用FieldByFieldElementComparator 从assertJ 中排除某些字段?

java - AnyString() 作为单元测试的参数

java - AssertJ 测试集合 : what is better: 'extracting' or Java8 forEach

java - AssertJ:递归地否定 isEqualToComparingFieldByField

java - AssertJ 多维数组断言(深度等于)

java - 如何开始 : testing Java Swing GUI with AssertJ Swing

java - 在测试中断言 java.util.Date 字段