assertarrayequals
Я тестирую два массива в Junit 4, чтобы увидеть, равны ли они, и получаю ошибку:
массивы сначала отличались в элементе [0]; ожидается: com.scheduling.Process<(Background, 1000)>, но было: com.scheduling.Process<(Background, 1000)>
Я знаю, что это очень мало информации, чтобы продолжить. Я читал в другом месте, что assertArrayEquals
смотрит на ссылки в массиве.
Должно что-то вроде assertArrayEquals(new Cat(), new Cat())
вернуть равный (учитывая, что Cat
класс реализует сопоставимо)? Или будет assertArrayEquals
посмотрим на два Cat
объекты разные, так как они не связаны ссылкой?
1 ответ
Это сравнивает использование equals
, Вы можете проверить это, запустив
Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});
Или создав класс, который просто реализует метод equals
,
Несмотря на то, что два объекта являются разными экземплярами, массивы все равно сравниваются корректно.