首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rufus调度程序超时::Selenium规范上的错误

Rufus调度程序超时::Selenium规范上的错误
EN

Stack Overflow用户
提问于 2014-05-21 01:55:58
回答 1查看 676关注 0票数 1

我在我的项目中使用了dashing rails https://github.com/gottfrois/dashing-rails。它在rails env负载上运行rufus-调度器作业。

当我运行我的集成测试(rspec、capybara、selenium-驱动程序)时,我的一些测试由于rufus-调度器超时错误而随机失败。是否有一种方法可以在测试环境中使rufus调度程序错误保持沉默或完全禁用rufus?我不喜欢在我的代码基础上做rails_env=test,所以任何其他的解决方案都会很感激。

示例错误如下所示:

代码语言:javascript
复制
{ 283064 rufus-scheduler intercepted an error:
  283064   job:
  283064     Rufus::Scheduler::EveryJob "10s" {}
  283064   error:
  283064     283064
  283064     Timeout::Error
  283064     Waited 3 sec
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-21 06:08:09

鲁弗斯调度器#on_error可能会有所帮助。它被记录在errorjob-error

例如:

代码语言:javascript
复制
if rails_env == 'test' # set the handler only when testing...
  def Dashing.scheduler.on_error(job, error)
    # keep silent, do nothing
  end
end

您似乎不希望将Rails env设置为集成测试的“测试”,因此您必须找到一种方法来确定何时重写调度程序#on_error方法,这就是您的问题所在。

而且,rufus-调度器不会引发超时值::Error的实例,它会引发Rufus::Scheduler::TimeoutError的实例,因此您所看到的错误不是rufus-调度程序错误,它们只是被rufus-调度程序截获。

如前所述,作为Rufus-调度器的作者,我没有编写Rufus-调度器来读取诸如"Rufus调度程序破坏集成测试“这样的标题,您的代码组装会破坏您的集成测试。一定要承担责任。

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

https://stackoverflow.com/questions/23772797

复制
相关文章

相似问题

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