如何在 Scala 中测试时将 ZonedDateTime 对象设置为返回固定时间值



我正在使用Scala WordSpec来编写单元测试用例。在测试返回当前时间的方法时,我想返回一个固定时间。

我想在我的代码中模拟ZonedDateTime.now().getHour方法以返回一个固定值以进行测试。

我尝试了下面的代码,但它没有给出任何结果

 val mockZone = mock[ZonedDateTime]
    (mockZone.now("IN":"Asia/Kolkata").getHour)
      .expects()
      .returns(2)

您可以尝试以下方法来获取time

new SimpleDateFormat("HH:mm:ss").format(java.util.Date.from(ZonedDateTime.now(ZoneId.of("Asia/Kolkata")).toInstant))

并跟随以获取date

new SimpleDateFormat("yyyy-MM-dd").format(java.util.Date.from(ZonedDateTime.now(ZoneId.of("Asia/Kolkata")).toInstant))

希望对你有帮助

最新更新