Scala 有没有一种方法可以模仿即时的
有没有办法在scala中模拟Instant.now 下面给了我一个问题,因为Instant.now方法是静态的 val instant:instant=mock[instant] 当(instant.now)…您可以通过以下操作尝试模拟“伴生对象”(引用,因为Scala 有没有一种方法可以模仿即时的,scala,mockito,Scala,Mockito,有没有办法在scala中模拟Instant.now 下面给了我一个问题,因为Instant.now方法是静态的 val instant:instant=mock[instant] 当(instant.now)…您可以通过以下操作尝试模拟“伴生对象”(引用,因为instant来自Java): mock[Instant.type] 而不是 mock[Instant] 您可以尝试通过以下操作模拟“伴生对象”(引号,因为Instant来自Java): mock[Instant.type] 而不是
instant
来自Java):
mock[Instant.type]
而不是
mock[Instant]
您可以尝试通过以下操作模拟“伴生对象”(引号,因为Instant
来自Java):
mock[Instant.type]
而不是
mock[Instant]
模仿静态方法不是很直接。但有几种方法可以做到这一点:
- PowerMock支持模拟静态方法
- 用实例方法包装静态方法。例如,您可以创建
包装函数,而不是直接在代码中调用someObject.now()
。然后,您可以将Instance.now()
上的someObject
now()方法模拟为普通模拟
如果您能分享更多细节,我们可能会对解决方案有更好的了解。模拟静态方法不是很直接。但有几种方法可以做到这一点:
- PowerMock支持模拟静态方法
- 用实例方法包装静态方法。例如,您可以创建
包装函数,而不是直接在代码中调用someObject.now()
。然后,您可以将Instance.now()
上的someObject
now()方法模拟为普通模拟
即时。现在,而是使用的可替换实例,然后调用即时。现在(时钟)
。这个问题的可能重复是,答案不是模仿Instant.now
,而是使用的可替换实例,然后调用Instant.now(时钟)
。的可能重复