gpt4 book ai didi

java - 可选列表中的 AssertJ

转载 作者:行者123 更新时间:2023-11-30 07:42:26 25 4
gpt4 key购买 nike

我有一个可选列表,比如 List<Optional<String>> optionals我喜欢用 assertj在它上面断言几件事。

但我没能正确地做到这一点——我只在单个可选上找到示例。

当然我可以自己做所有的检查

Assertions.assertThat(s).allMatch(s1 -> s1.isPresent() && s1.get().equals("foo"));

并将它们链接起来,但我仍然觉得,通过 api 有一种更聪明的方法。

我在这里遗漏了什么还是不支持 List<Optional<T>>在 assertj 中?

最佳答案

AssertJ 似乎没有为可选集合提供实用程序,但您可以迭代列表并对每个项目执行断言。

list.forEach(element -> assertThat(element)
.isPresent()
.hasValue("something"));

也许更好的方法是收集所有断言,而不是停在第一个断言处。您可以通过不同的方式使用 SoftAssertions,但我更喜欢这个:

SoftAssertions.assertSoftly(softly ->
list.forEach(element -> softly.assertThat(element).isPresent())
);

关于java - 可选列表中的 AssertJ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54644880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com