Страницы

Поиск по вопросам

вторник, 10 декабря 2019 г.

Отличия assertSame и assertEquals в JUnit

#java #junit


JUnit: в чем отличие assertSame(Object, Object) от assertEquals(Object, Object) именно
на параметрах типа Object?
    


Ответы

Ответ 1



assertEquals() использует метод equals(), если он определен. Таким образом, можно использовать свой принцип сравнения объектов. Если он не определен - работает как assertSame(). assertSame() просто сравнивает объекты при помощи оператора ==, то есть проверяет, являются ли параметры ссылками на один и тот же объект. Отсюда следует, что для параметров типа Object разницы нет.

Ответ 2



Если runtime-типы обоих параметров - java.lang.Object, то ничем.

Комментариев нет:

Отправить комментарий