Java 8的java.time API中的模拟时间
Joda
Time有一个不错的DateTimeUtils.setCurrentMillisFixed()来模拟时间。
在测试中非常实用。
Java 8的java.time
API是否具有等效功能?
回答:
最接近的东西是Clock
物体。您可以使用任意时间(或从系统当前时间)创建Clock对象。所有date.time对象都有重载的now
方法,这些方法采用时钟对象代替当前时间。因此,您可以使用依赖项注入来注入具有特定时间的Clock:
public class MyBean { private Clock clock; // dependency inject
...
public void process(LocalDate eventDate) {
if (eventDate.isBefore(LocalDate.now(clock)) {
...
}
}
}
有关更多详细信息,请参见Clock
JavaDoc。
以上是 Java 8的java.time API中的模拟时间 的全部内容, 来源链接: utcz.com/qa/399575.html