java Instancio -以字符串格式YYYYMMDD生成过去日期

bvjxkvbb  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(125)

我正在尝试使用Instancio生成测试数据。Student类有一个字符串类型的birthdate成员,用于以YYYYMMDD格式存储日期。
如何使用Instancio库(测试数据生成器)生成yyyyMMDD格式的字符串日期?
以下是我的波因:

Student student = Instancio.of(Student.class)
  .generate(field(Student::getBirthdate), gen -> gen.temporal().localDate().past())
  .create();

谢谢

mpbci0fu

mpbci0fu1#

正如注解中所建议的,将字段声明为LocalDate而不是String是一个很好的实践。如果无法更改,可以使用as()方法将日期Map到字符串:

Student student = Instancio.of(Student.class)
  .generate(field(Student::getBirthdate), gen -> gen.temporal().localDate().past().as(dob -> dob.format(DateTimeFormatter.BASIC_ISO_DATE)))
  .create();

相关问题