首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试已排定的作业(每一分钟,cron "* * *"),但不等待“真实”一分钟(rufus-调度程序与虚拟时间)?

如何测试已排定的作业(每一分钟,cron "* * *"),但不等待“真实”一分钟(rufus-调度程序与虚拟时间)?
EN

Stack Overflow用户
提问于 2020-01-28 19:14:05
回答 1查看 644关注 0票数 0

rufus-scheduler库允许我们调度任务https://github.com/jmettraux/rufus-scheduler

代码语言:javascript
复制
require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new

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

事实上,当你想要在rufus-scheduler上测试你的应用程序时,你需要睡眠real 1 min,这对于典型的测试来说太多了。

例如,在Reactor(Java)中,为了避免长时间运行的测试,他们提供了StepVerifier.withVirtualTime

https://medium.com/@vanniktech/taking-control-of-the-time-when-testing-rxjava-code-91b2e5e88bdf -

  • RxJava

rufus-schedulerRuby本身的测试中是否有任何时间操纵选项?

电流溶液

rufus-schedulerin类型,因此用于验证我使用的in=0.001ssleep 0.4的应用程序框架。

是的,测试需要半秒钟,但这比1分钟要好得多。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-29 01:07:40

看一下

或者其他“时间旅行”工具。

我把@spickermann放在“只测试你自己的代码”上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59955571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档