为什么 hamcrest 说字节 0 不等于整数 0?
考虑以下使用标准断言和 hamcrest 的测试用例:JUnit
assertThat
byte b = 0;
int i = 0;
assertEquals(b, i); // success
assertThat(b, equalTo(i)); // java.lang.AssertionError: Expected: <0> but: was <0>
if (b == i) {
fail(); // test fails, so b == i is true for the JVM
}
为什么会这样?对于 JVM,这些值显然是相等的,因为 is ,那么为什么会失败呢?b == i
true
hamcrest