gpt4 book ai didi

java - Hamcrest 何时使用 Is 或 equalTo

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:45 24 4
gpt4 key购买 nike

我是 hamcrest 的新手。在探索如何使用它的过程中,我一直对何时使用 isequalTo 存疑。

isequalTo 之间有什么区别吗?它的行为似乎是一样的。

 Assert.assertThat(actual, equalTo("blue"));
Assert.assertThat(actual, is("red"));

为什么你会使用一个而不是另一个?

最佳答案

Matchers 的 Javadoc很清楚。 is所有的重载形式都是为了表现力。

“主要”isis(Matcher<T> matcher)其中:

Decorates another Matcher, retaining its behaviour, but allowing tests to read slightly more like an English phrase.

For example:

assertThat(cheese, is(equalTo(smelly)))

instead of:

assertThat(cheese, equalTo(smelly))

is(T value)是:

A shortcut to the frequently used is(equalTo(x)).

允许assertThat(cheese, is(smelly))

... 和 is(java.lang.Class<T> type)是:

A shortcut to the frequently used is(instanceOf(SomeClass.class)).

允许assertThat(cheese, is(DairyFood.class))

...但这已被弃用,取而代之的是 isA(DairyFood.class) .


这归结为 is(foo)equalTo(foo)它们的行为完全相同,只要 foo既不是 Matcher也不是 Class .您应该使用您认为最能清楚传达您的意图的任何内容。

关于java - Hamcrest 何时使用 Is 或 equalTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44183196/

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