关于 JUnit4 assertThat
,我已经看到了这两种方式。一个比另一个正确还是都一样?
byte[] val;
...
assertThat(val, notNullValue());
--vs--
assertThat(val, is(notNullValue()));
第二个选项读取“断言 val 不为空”,这听起来更好。(另一方面,它可能是多余的。)
我已经使用了这两种方法,它们似乎产生了正确的结果。
关于 JUnit4 assertThat
,我已经看到了这两种方式。一个比另一个正确还是都一样?
byte[] val;
...
assertThat(val, notNullValue());
--vs--
assertThat(val, is(notNullValue()));
第二个选项读取“断言 val 不为空”,这听起来更好。(另一方面,它可能是多余的。)
我已经使用了这两种方法,它们似乎产生了正确的结果。
Hamcrest 努力使您的测试尽可能具有可读性。例如,匹配
is
器是一个包装器,它不会向底层匹配器添加任何额外的行为。以下断言都是等价的:assertThat(theBiscuit, equalTo(myBiscuit)); assertThat(theBiscuit, is(equalTo(myBiscuit))); assertThat(theBiscuit, is(myBiscuit));
最后一种形式是允许的,因为
is(T value)
它被重载到 returnis(equalTo(value))
。
这两种方式没有区别。该is()
方法主要是为了提高可读性而引入的。