Утверждают, что два Java-бина эквивалентны - PullRequest
13 голосов
/ 16 ноября 2009

Этот вопрос близок, но все еще не то, что я хочу. Я хотел бы в общих чертах утверждать, что два объекта бина эквивалентны. В противном случае я хотел бы получить подробное сообщение об ошибке, объясняющее разницу вместо логического «равно» или «не равно».

Ответы [ 12 ]

0 голосов
/ 16 ноября 2009

Вы на самом деле не утверждаете равенство, а скорее делаете "diff". Ясно, что значение «один и тот же» зависит от конкретной логики для каждого типа, и представление различий также может варьироваться. Одно из основных отличий этого требования от обычного equals () состоит в том, что обычно equals () останавливается, как только будет замечено первое различие, вы захотите продолжить и сравнить каждое поле.

Я бы посмотрел на повторное использование некоторых шаблонов equals (), но я подозреваю, что вам нужно написать свой собственный код.

0 голосов
/ 16 ноября 2009

Поскольку вам не понравились ответы в вопросе, на который вы ссылались, почему бы просто не использовать метод toXml в каждом компоненте, превратить их в файл XML и затем использовать xmlUnit для сравнения.

Подробнее о сравнении XML-файлов вы можете узнать здесь:

Лучший способ сравнить 2 XML-документа в Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...