java - 断言数组等于

标签 java unit-testing junit4

我正在 Junit 4 中测试两个数组,看看它们是否相等并得到错误:

arrays first differed at element [0]; expected: com.scheduling.Process<(Background, 1000)> but was: com.scheduling.Process<(Background, 1000)>

我知道这方面的信息很少。我在其他地方读到 assertArrayEquals 查看数组内的引用。

assertArrayEquals(new Cat(), new Cat()) 这样的东西应该返回 equal (假设 Cat 类实现了可比较)?或者 assertArrayEquals 是否会认为两个 Cat 对象不同,因为它们没有通过引用链接?

最佳答案

它使用等于进行比较。您可以通过运行来检查

Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});

或者通过创建一个仅实现方法equals的类。

即使两个对象是不同的实例,数组的比较仍然正确。

关于java - 断言数组等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483101/

相关文章:

java - 如何在 C3P0 中配置连接存在性检查?

java - webapp完全启动后的Jersey初始化代码

Java定时器代码

javascript - 如何在 TypeScript 中使用 mocha 模拟 axios 依赖?

javascript - 为什么我的 Javascript 代码没有通过 chai 中的单元测试用例

java - 在 Spring Boot 中跳过 VPN DNS 可用性的集成测试

java - 如何在 JerseyTest 套件中使用 @BeforeClass 和 @AfterClass

java - ResponseEntity 解码 UTF-8

java - 使用两个、三个依赖类模拟、 stub 进行 Junit 测试。有关 Junit 教程和示例的任何推荐

javascript - 用 Jasmine 监视 console.error()