汉克雷斯特约会匹配者

2022-09-01 05:10:47

我需要在某个测试用例中的日期之前/之后进行测试。如果可能的话,我想使用Hamcrest匹配器

有没有Hamcrest(Java)的匹配器来使用Dates?如果是这样,我会在哪个包/类中找到特定的日期匹配器函数?


答案 1

OrderIngComparison::greaterThan 匹配器将适用于任何可与自身相当的类型(它在包中,但实际上不是特定于数字的)。日期就是这样一种类型。org.hamcrest.number


答案 2

https://github.com/eXparity/hamcrest-date 图书馆提供hamcrest日期匹配器库,也可用于maven,ivy等

<dependency>
    <groupId>org.exparity</groupId>
    <artifactId>hamcrest-date</artifactId>
    <version>1.1.0</version>
</dependency>

它支持日期的各种匹配器,因此允许诸如

Date myBirthday = new Date();
MatcherAssert.assertThat(myBirthday, DateMatchers.after(Moments.today()));

Date myBirthday = new Date();
MatcherAssert.assertThat(myBirthday, DateMatchers.isToday());