使用 mockk 模拟 OffsetDateTime.now

Raz*_*orm 3 kotlin mockk

尝试用mockk模拟OffsetDateTime.now(),但它抛出

Missing calls inside every { ... } block

我试过:

staticMockk<OffsetDateTime>().mock().run {
  val mockTime = OffsetDateTime.now()
  every { OffsetDateTime.now() } returns mockTime
  // test
}
Run Code Online (Sandbox Code Playgroud)

还尝试过:

mockkStatic(OffsetDateTime::class)
val mockTime = OffsetDateTime.now()
every { OffsetDateTime.now() } returns mockTime
Run Code Online (Sandbox Code Playgroud)

小智 7

对我来说没关系。请考虑使用最新版本(1.8.8 或 1.8.8.kotlin13),或者如果它不起作用,请报告错误。

这是我的代码:

mockkStatic(OffsetDateTime::class)

val date = OffsetDateTime.of(
    2012,
    10,
    10,
    10,
    10,
    10,
    10,
    ZoneOffset.UTC
)

every {
    OffsetDateTime.now()
} returns date

println(OffsetDateTime.now())
Run Code Online (Sandbox Code Playgroud)