繁体   English   中英

如何使用 Rspec 测试后台作业 (Sidekiq)?

[英]How to test background jobs (Sidekiq) with Rspec?

我的应用程序的很大一部分依赖于后台作业来处理用户的网站,所以我需要编写一些测试来覆盖这些。

第一个问题是如何测试Sidekiq工作类中的代码,例如app/workers/some_worker.rb

class SomeWorker
  include Sidekiq::Worker

  def perform(model_id)
    ...
  end
end

其次,我如何存根如下代码,这样我就不需要实际运行工作程序并减慢我的测试速度?

response = HTTParty.get("http://users-site.com", timeout: 30)

看看我编写的rspec-sidekiq gem(测试 Sidekiq 工人)。

Sidekiq 提供了一些选项来测试您的工作人员

https://github.com/mperham/sidekiq/wiki/Testing

对我来说,在规范文件的顶部添加这些行后,它起作用了

require 'sidekiq/testing'
Sidekiq::Testing.inline!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM