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

回到顶部