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

问题描述 投票:13回答:3

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

第一个问题是如何测试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)
ruby-on-rails rspec background-process stub sidekiq
3个回答
9
投票

看一下我编写的精确完成此操作的rspec-sidekiq宝石(测试Sidekiq工人)。>>



0
投票

Sidekiq提供了一些测试员工的选项

© www.soinside.com 2019 - 2024. All rights reserved.