gpt4 book ai didi

java - Hamcrest 的多个正确结果(是否有或匹配器?)

转载 作者:IT老高 更新时间:2023-10-28 13:51:04 30 4
gpt4 key购买 nike

我对匹配器比较陌生。我在玩hamcrest结合 JUnit,我有点喜欢它。

有没有办法说明多项选择中的一个是正确的?

类似

assertThat( result, is( either( 1, or( 2, or( 3 ) ) ) ) ) //does not work in hamcrest

我正在测试的方法返回集合的一个元素。该列表可能包含多个候选者。我当前的实现返回第一个命中,但这不是必需的。如果返回任何可能的候选人,我希望我的测试用例成功。你会如何用 Java 来表达这一点?

(我对 hamcrest-alternatives 持开放态度)

最佳答案

assertThat(result, anyOf(equalTo(1), equalTo(2), equalTo(3)))

来自 Hamcrest tutorial :

anyOf - matches if any matchers match, short circuits (like Java ||)

另见 Javadoc .

此外,您可以编写自己的 Matcher,这很容易做到。

关于java - Hamcrest 的多个正确结果(是否有或匹配器?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/152714/

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