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


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

第一个问题是如何测试中的代码 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)

5290
2018-03-30 10:54


起源



答案:


看看吧 rspec的-sidekiq 我正在撰写这篇文章(测试Sidekiq工作人员)。


9
2018-06-03 00:39





阅读 在Sidekiq wiki中测试页面


6
2018-03-30 15:49



Woops我错过了,我看到我可以使用 work = HardWorker.new; work.perform(1, 2) 运行代码。仍不确定如何伪造外部网站进行测试。 - mind.blank
尝试类似VCR的东西(relishapp.com/vcr/vcr/docs) - Phil Ostler
前面提到的Sidekiq维基页面测试。 - Sarah Vessels


答案:


看看吧 rspec的-sidekiq 我正在撰写这篇文章(测试Sidekiq工作人员)。


9
2018-06-03 00:39





阅读 在Sidekiq wiki中测试页面


6
2018-03-30 15:49



Woops我错过了,我看到我可以使用 work = HardWorker.new; work.perform(1, 2) 运行代码。仍不确定如何伪造外部网站进行测试。 - mind.blank
尝试类似VCR的东西(relishapp.com/vcr/vcr/docs) - Phil Ostler
前面提到的Sidekiq维基页面测试。 - Sarah Vessels