junit 数组不相等测试

新手上路,请多包涵

我正在尝试编写一个测试用例,其中我的场景是两个 字节数组 应该 不相等

我可以用 junit 做这个吗?

或者我必须使用像 Hamcrest 这样的外部工具吗? 我无法更改此答案中的代码来完成这项工作

请给样品。

原文由 Sam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 366
2 个回答

我更喜欢用 Hamcrest 的方式来做这件事,它更具表现力:

 Assert.assertThat(array1, IsNot.not(IsEqual.equalTo(array2)));

或者带有静态导入的简短版本:

 assertThat(array1, not(equalTo(array2)));

(幸运的是, IsEqual 匹配器足够聪明,可以理解数组。)

请注意,Hamcrest 的有限版本是 JUnit 4.x 发行版的一部分,因此您不需要添加外部库。

原文由 Sean Patrick Floyd 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用

assertFalse(Arrays.equals(array1, array2));

如果您想检查它们是否相等,我会改用以下内容。

 assertEquals(Arrays.toString(array1), Arrays.toString(array2));

因为这会产生关于不同之处的可读输出,而不仅仅是失败。

原文由 Peter Lawrey 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题