问题描述
我的测试代码如下:
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
表示测试时钟已正确注入,但从未发生重复。
我错过了什么? 谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)