Я пишу интеграционный тест для своих услуг DAO. Я выполняю это с помощью методов ввода dao, а затем считываю объекты из базы данных и утверждаю все поля с оригинальными объектами.Утверждение полей java.util.Date в тесте
Я хочу использовать assertj-core для создания утверждений. Особенно isEqualToComparingFieldByField.
Но есть проблемы с полями java.util.Date. Они возвращают идентичное значение getTime(), но не равны.
В настоящее время я игнорирую эти поля в isEqualToComparingFieldByField, а затем comapre с методом hasSameTimeAs.
assertThat(object).isEqualToIgnoringGivenFields(other, "time");
assertThat(object.getTime()).hasSameTimeAs(other.getTime());
Есть ли способ, чтобы предоставить пользовательский компаратор методу isEqualToComparingFieldByField для данного типа (в данном случае java.util.Date) или любое другое решение утвердить поле два объекта по полю, избегая этот вопрос?
До класса java 8 date/time рассмотрим равенство 'java.util.Date' только на основе' getTime() 'и для других целей (полей) test Calendar. В Date соответствующий конструктор «field» устарел и советует использовать Calendar. –