Hamcrest图书馆的日期

Dan*_*Dan 5 java junit unit-testing hamcrest

我一直在四处寻找,但我没有找到任何有用的东西.是否有任何与hamcrest一起使用的第三方库具有广泛的日期匹配?

具体来说,我正在寻找以下方面的匹配:

assertThat(myDate, is(withinMinutes(sourceDate, 10)));
assertThat(myDate, is(afterDate(sourceDate)));
assertThat(myDate, is(betweenDates(startDate, endDate)));
Run Code Online (Sandbox Code Playgroud)

在我推出自己的产品之前,我想知道是否有任何东西.

gon*_*ard 0

您应该尝试fest-assert,它与 hamcrest 不兼容,但恕我直言,它优于它(“更流畅”)。例如日期:

@Test
public void is_between_date_assertions_examples() {

    // various usage of isBetween assertion,
    // Note that isBetween(2002-12-17, 2002-12-19) includes start date but end date :
    assertThat(theTwoTowers.getReleaseDate())
            // = 2002-12-18
            .isBetween(theFellowshipOfTheRing.getReleaseDate(), theReturnOfTheKing.getReleaseDate())
            .isBetween(parse("2002-12-17"), parse("2002-12-19")) // [2002-12-17, 2002-12-19[
            .isBetween("2002-12-17", "2002-12-19") // [2002-12-17, 2002-12-19[
            .isNotBetween("2002-12-17", "2002-12-18") // [2002-12-17, 2002-12-18[
            .isBetween("2002-12-17", "2002-12-18", true, true); // [2002-12-17, 2002-12-18]
}
Run Code Online (Sandbox Code Playgroud)

带日期的完整示例在这里,其他示例在那里