微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

调整测试时钟时间时,Zio 测试计划不重复

如何解决调整测试时钟时间时,Zio 测试计划不重复

我正在尝试测试一个需要重复的逻辑(随着时间的推移)

我的测试代码如下:

 val repeatSchedule = Schedule.fixed(1 second) && Schedule.recurs(10) // 10 times,1 second each time
 val logic = for {
    Now <- ContextModule.Now // ContextModule wraps several stuff among with a zio clock
    _ <- zio.console.putStrLn("Now: " + Now) // for debugging
    x <- [WHATEVER TESTING LOGIC]
    }
  } yield x

  for {
    fiber <- logic.provideCustomLayer(ContextModule.live).repeat(repeatSchedule).fork
    _ <- TestClock.adjust(10 second)
    x <- fiber.join
  } yield assert(x)(Assertion.equalTo(y))
})

我确实希望根据我提供的时间表(10 次,每秒一次)使用假时间重复 logic,该时间每 10 秒一次。 但是,logic 只执行一次,然后进程挂起(没有警告消息或任何内容,例如当您忘记手动调整时间时,我没有分类 A test is using time,but is not advancing the test clock)。 在控制台中,我读到 Now: 1970-01-01T00:00:10Z 表示测试时钟已正确注入,但从未发生重复。

我错过了什么? 谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。