【问题标题】:is there a way to mock Instant.now有没有办法模拟 Instant.now
【发布时间】:2017-01-20 17:54:19
【问题描述】:

有没有办法在 scala 中模拟 Instant.now

下面给我一个问题,因为 Instant.now 方法是静态的 val 即时:即时 = 模拟 [即时] 何时(即时。现在)....

【问题讨论】:

标签: scala mockito


【解决方案1】:

您可以尝试通过执行以下操作来模拟“伴随对象”(引用是因为 Instant 来自 Java):

mock[Instant.type]

而不是

mock[Instant]

【讨论】:

    【解决方案2】:

    模拟静态方法不是很直接。不过有几种方法:

    • PowerMock 支持模拟静态方法
    • 用实例方法包装静态方法。例如,您可以创建someObject.now() 包装函数,而不是直接在您的代码中调用Instance.now()。然后,您可以将someObject 上的now() 方法模拟为普通模拟。

    如果你能分享更多细节,我们可能会对解决方案有更好的想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2015-09-19
      • 2010-10-14
      • 2011-07-24
      • 2023-03-03
      相关资源
      最近更新 更多