Расписание испытаний 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 раз, раз в секунду), используя поддельное время, которое увеличивается сразу на 10 секунд. Тем не мение, logic выполняется только один раз, а затем процесс зависает (никаких предупреждающих сообщений или чего-то еще, у меня нет, например, классификации A test is using time, but is not advancing the test clockкогда вы забываете вручную настроить время). В консоли я прочитал now: 1970-01-01T00:00:10Z это означает, что тестовые часы вводятся правильно, но повторения никогда не происходит.

Что мне не хватает? Спасибо

0 ответов

Другие вопросы по тегам