これを支援するライブラリがあります:
Apachecommons-lang
あなたが持っている場合はApache Commonsの-langのクラスパスには、使用することができますDateUtils.truncate
いくつかのフィールドに日付を切り捨てること。
assertEquals(DateUtils.truncate(date1,Calendar.SECOND),
DateUtils.truncate(date2,Calendar.SECOND));
これには省略形があります:
assertTrue(DateUtils.truncatedEquals(date1,date2,Calendar.SECOND));
12:00:00.001と11:59:00.999は異なる値に切り捨てられるため、これは理想的ではない可能性があることに注意してください。そのために、ラウンドがあります:
assertEquals(DateUtils.round(date1,Calendar.SECOND),
DateUtils.round(date2,Calendar.SECOND));
AssertJ
バージョン3.7.0以降isCloseTo
、Java 8 Date / Time APIを使用している場合、AssertJはアサーションを追加しました。
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));
また、従来のJavaDatesでも機能します。
Date d1 = new Date();
Date d2 = new Date();
assertThat(d1).isCloseTo(d2, within(100, ChronoUnit.MILLIS).getValue());