Java 资产负债表

Java 资产负债表,java,unit-testing,junit4,Java,Unit Testing,Junit4,我正在Junit 4中测试两个数组,以查看它们是否相等并得到错误: 数组首先在元素[0]处不同;预期: com.scheduling.Process,但是: com.scheduling.Process 我知道这是非常少的信息继续下去。我在别处读到,assertArrayEquals查看数组中的引用 类似于assertarayequals(new Cat(),new Cat())的东西是否应该返回相等的值(假定Cat类实现了可比较的值)?或者,assertarayequals是否会认为这两个Ca

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

数组首先在元素[0]处不同;预期: com.scheduling.Process,但是: com.scheduling.Process

我知道这是非常少的信息继续下去。我在别处读到,
assertArrayEquals
查看数组中的引用


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

它使用
相等进行比较。你可以通过运行

Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});
或者创建一个只实现方法
equals
的类


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

它使用
equals
进行比较。你可以通过运行

Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});
或者创建一个只实现方法
equals
的类


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

您的
过程
类重写
equals
做得好吗?(看看代码,它似乎应该调用
equals
而不仅仅是比较引用…@Jon Skeet,没有你我该怎么办。。。我只是天真地实现了comparable..多亏了米尔韦尔,你的
过程
类重写
等于
?(看看代码,它似乎应该调用
equals
而不仅仅是比较引用…@Jon Skeet,没有你我该怎么办。。。我只是天真地实现了…谢谢