Как проверить задания, которые были запланированы (каждая минута, cron "* * * * *"), но не ожидали "реальной" одной минуты (rufus-планировщик против виртуального времени)? - PullRequest
0 голосов
/ 28 января 2020

rufus-scheduler lib позволяет нам планировать задачи https://github.com/jmettraux/rufus-scheduler

require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new

scheduler.cron '* * * * *' do
  # do something every minute
end

На самом деле, когда вы хотите протестировать свое приложение поверх rufus-scheduler, вам потребуется sleep real 1 min, что слишком много для типичных тестов.

Например, в Reactor(Java) они предоставляют StepVerifier.withVirtualTime во избежание длительных тестов.:

Есть ли какие-либо варианты манипуляции временем в тестах для rufus-scheduler или Ruby для самого себя?

1 Ответ

0 голосов
/ 29 января 2020

Посмотрите на

или другие инструменты «путешествия во времени».

Я второй @spickermann включаю «проверять только свой код».

...