购物网站开发教程 视频,今天佛山突发新闻,怎么自己创立网站,著名商业空间设计案例datetime 日期自从我开始涉足自动化测试和练习TDD以来#xff0c;验证日期值很痛苦。 幸运的是#xff0c;这里有一个不错的库#xff0c;可用于遗留Date和新的Java 8 DateTime API #xff0c;从而解决了这一难题。 如果您属于Java开发社区中较健康的部分#xff0c;并且… datetime 日期 自从我开始涉足自动化测试和练习TDD以来验证日期值很痛苦。 幸运的是这里有一个不错的库可用于遗留Date和新的Java 8 DateTime API 从而解决了这一难题。 如果您属于Java开发社区中较健康的部分并且每天练习单元测试那么您可能知道Hamcrest Java库 。 它可以使您的测试更具可读性。 它的体系结构是非常模块化的并由其他各种测试库使用。 Matcher的概念是灵活性的主要部分。 我现在不打算深入探讨这个概念。 如果您不熟悉只需快速阅读Hamcrest教程 。 您可以插入测试工具箱中的匹配器之一是hamcrest-date库。 使用此库我们可以轻松测试在特定范围内生成的日期 Test
public void validateDate() {//GIVENDate expectedDate new Date();//WHENDate actualDate new Date();//THENassertThat(actualDate, DateMatchers.within(2, ChronoUnit.SECONDS, expectedDate));
} 对于Java 8类型我们也可以这样做 Test
public void validateDateTime() {//GIVENLocalDateTime expectedDateTime LocalDateTime.now();//WHENLocalDateTime actualDateTime LocalDateTime.now();//THENassertThat(actualDateTime, LocalDateTimeMatchers.within(2, ChronoUnit.SECONDS, expectedDateTime));
} 或选择hamcrest-core库提供的各种异国验证 Test
public void validateZonedDateTime() {//GIVENZonedDateTime expectedDateTime ZonedDateTime.of(2016, 3, 20, 13, 3, 0, 0, ZoneId.of(GMT1));//WHENZonedDateTime actualDateTime ZonedDateTime.of(2016, 3, 20, 13, 3, 0, 0, ZoneId.of(GMT-0));//THENassertThat(actualDateTime, ZonedDateTimeMatchers.sameDay(expectedDateTime));assertThat(actualDateTime, ZonedDateTimeMatchers.after(expectedDateTime));assertThat(actualDateTime, ZonedDateTimeMatchers.isSunday());assertThat(actualDateTime, ZonedDateTimeMatchers.isMarch());
} 创建者对这个漂亮的小图书馆表示敬意。 此示例托管在Github中 。 翻译自: https://www.javacodegeeks.com/2016/03/verifying-datetime-date-hamcrest.htmldatetime 日期