Są to biblioteki, które w tym pomóc:
Apache Commons-lang
Jeśli masz Apache commons-lang na swoją ścieżkę klas, możesz użyć DateUtils.truncate
, aby skrócić daty do niektórych pól.
assertEquals(DateUtils.truncate(date1,Calendar.SECOND),
DateUtils.truncate(date2,Calendar.SECOND));
Jest to skrót od:
assertTrue(DateUtils.truncatedEquals(date1,date2,Calendar.SECOND));
Należy zauważyć, że 12: 00: 00,001 i 11: 59: 00,999, że obcina się różne wartości, to może to nie jest idealny. Za to, że jest okrągła:
assertEquals(DateUtils.round(date1,Calendar.SECOND),
DateUtils.round(date2,Calendar.SECOND));
AssertJ
Począwszy od wersji 3.7.0, AssertJ Dodano isCloseTo
twierdzeń, jeśli używasz Java 8 Data/godzina API.
LocalTime _07_10 = LocalTime.of(7, 10);
LocalTime _07_42 = LocalTime.of(7, 42);
assertThat(_07_10).isCloseTo(_07_42, within(1, ChronoUnit.HOURS));
assertThat(_07_10).isCloseTo(_07_42, within(32, ChronoUnit.MINUTES));
Działa również ze starszymi java Daty także:
Date d1 = new Date();
Date d2 = new Date();
assertThat(d1).isCloseTo(d2, within(100, ChronoUnit.MILLIS).getValue());
Nie obsługuje przypadku różnicy milisekundy nad drugą granicą, 10.000 i 09.999 byłyby inne. – scarba05