当前位置: 首页 > 知识库问答 >
问题:

在日期比较中断言该用法

闾丘选
2023-03-14

我想针对带有日期的搜索编写一个测试。我在想一个测试代码

assertThat(repository.findByBookingDateAfter(LocalDate.of(2016, 1, 1))).extracting("bookingDate").are(...));

其中类结构如下所示:

public class Booking{
  ...
  LocalDate bookingDate;
  ...
}

因为查询是在给定日期之后的任何预订上的,所以我的测试将在该日期之后检查字段。经过一些网上搜索,我没有看到任何有用的信息。我在想我是否走上了正确的轨道。

testCompile('org.springframework.boot:spring-boot-starter-test'){
    exclude group: 'org.assertj'
}
testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2'

以下是任何以“is”开头的方法的截图。“isafter”不在名单上。

共有1个答案

向和歌
2023-03-14

我将使用ALLMATCHALLSATIST断言来检查每个提取的日期是否在查询中使用的日期之后。

// set the extracted type to chain LocalDate assertion 
assertThat(result).extracting("bookingDate", LocalDate.class)
                  .allMatch(localDate -> localDate.isAfter(queryDate)));

// use a lambda to extract the LocalDate to chain LocalDate assertion
assertThat(result).extracting(Booking::getBookingDate)
                  .allSatisfy(localDate -> assertThat(localDate).isAfter(queryDate));

在第二个断言中,您会得到一个更好的错误消息,它将显示错误的日期。

 类似资料:
  • 本文向大家介绍Objective-C语言日期比较,包括了Objective-C语言日期比较的使用技巧和注意事项,需要的朋友参考一下 示例 NSDate在Objective-C中有4种比较s的方法: - (BOOL)isEqualToDate:(NSDate *)anotherDate - (NSDate *)earlierDate:(NSDate *)anotherDate - (NSDate *

  • 所以今年早些时候,我在大学里接到了一个任务。任务是使用OOP程序创建一个停车场管理系统。例如,我们学习了如何使用继承、抽象类和实例。我已经完成了并通过了这个作业,所以这个问题只是为了知识目的。其中一个任务是按时间顺序对对象的 Array 列表进行排序。为此,我们学习了可比/比较器方法。但是,我无法理解它,也无法做到这一点。问题是,我们必须对数组列表中的“Vehicle”对象中的“DateTime”

  • 目前,我正努力争取与之相比的约会。更重要的是,我有一个属性Death的人,格式是YYYY-MM-DD,如果这个人已经死了(Death 我尝试了以下做法: 但我只收到来自浏览器的解析错误。我使用的是XSL1.0版,除了xmlns:XSL=“http://www.w3.org/1999/XSL/transform”之外,没有任何名称空间。

  • 问题内容: 如何在Java中比较两者之间的日期? 例: date1是 date2是今天 date3是 总是大于和今天始终。如何验证今天的日期是否在和之间? 问题答案: 日期有之前和之后的方法,可以相互比较,如下所示: 进行包容性比较: 你也可以尝试一下Joda-Time,但请注意: Joda-Time是Java SE 8之前的Java的事实上的标准日期和时间库。现在,要求用户迁移到java.tim

  • Created_date类型为date 日期格式默认为yyyy-dd-MM

  • 问题内容: 我想比较数据库中2个给定日期之间的日期。数据库中的列是DATETIME,我只想将其与日期格式进行比较,而不要与datetime格式进行比较。 执行上面的SQL时出现此错误: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在’us_reg_date,120)> =‘2000-07-05’AND CONVERT(CHAR(10),us_reg_date,120)<=‘2