调整测试时钟时间时,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 表示测试时钟已正确注入,但从未发生重复。

我错过了什么? 谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...