assertarrayequals

时间:2012-11-20 22:12:40

标签: java unit-testing junit4

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

  

数组首先在元素[0]上不同;预期:   com.scheduling.Process<(背景,1000)>但是:   com.scheduling.Process<(背景,1000)>

我知道这些信息很少。我在别处读过assertArrayEquals查看数组中的引用。

assertArrayEquals(new Cat(), new Cat())之类的内容是否应该返回相等(假设Cat类实现了可比性)?或者assertArrayEquals会认为两个Cat个对象不同,因为它们没有通过引用链接?

1 个答案:

答案 0 :(得分:1)

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

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

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

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