junit 数组不等于测试
我正在尝试编写一个测试用例,其中我的方案是两个字节数组应该不相等。
我可以用 junit 做到这一点吗?
还是我必须使用像Hamcrest这样的外部产品?我无法更改此答案中的代码来完成这项工作
请提供样品。
我正在尝试编写一个测试用例,其中我的方案是两个字节数组应该不相等。
我可以用 junit 做到这一点吗?
还是我必须使用像Hamcrest这样的外部产品?我无法更改此答案中的代码来完成这项工作
请提供样品。
您可以使用
assertFalse(Arrays.equals(array1, array2));
如果你想检查它们是否相等,我会使用以下代替。
assertEquals(Arrays.toString(array1), Arrays.toString(array2));
因为这会产生一个可读的输出,说明什么是不同的,而不仅仅是失败。
我更喜欢用Hamcrest的方式这样做,这更具表现力:
Assert.assertThat(array1, IsNot.not(IsEqual.equalTo(array2)));
或者带有静态导入的简短版本:
assertThat(array1, not(equalTo(array2)));
(幸运的是,匹配器足够聪明,可以理解数组。IsEqual
请注意,Hamcrest 的有限版本是 JUnit 4.x 发行版的一部分,因此您无需添加外部库。