如何将两个对象数组与assertArrayEquals进行比较

时间:2013-10-18 12:27:30

标签: arrays junit assert

我想比较两个对象数组。

但是找不到合适的方法,因为它不接受String,Integer等对象。

我已经在数组的对象上重写了Equals方法。

但是如何将数组传递给方法?

Assert.assertArrayEquals(esperado.getListaEquiposTorneo(), resultado.getListaEquiposTorneo());

// esperado.getListaEquiposTorneo(),resultado.getListaEquiposTorneo())列出我自己制作的对象1和2

2 个答案:

答案 0 :(得分:2)

首先,您应该可以使用assertEquals

 Assert.assertEquals(esperado.getListaEquiposTorneo(),
        resultado.getListaEquiposTorneo());

我更喜欢使用Hamcrest,因为它会提供更好的错误消息

assertThat(actualArray, 
        IsArrayContainingInOrder.arrayContaining(
             expectedArray));

assertThat(resultado.getListaEquiposTorneo(), 
        IsArrayContainingInOrder.arrayContaining(
              esperado.getListaEquiposTorneo()));

IsArrayContainingInOrder

答案 1 :(得分:0)

见Tomasz Nurkiewicz answer

Apache Commons的ArrayUtils.isEquals()就是这么做的。它还处理多维数组。

您可以在结果

上使用简单的AssertTrue