Ruby on rails 如何使用Rspec测试后台作业(Sidekiq)?
我的应用程序很大一部分依赖于后台作业来处理用户的网站,所以我需要编写一些测试来涵盖这些内容 第一个问题是如何测试worker类中的代码,例如Ruby on rails 如何使用Rspec测试后台作业(Sidekiq)?,ruby-on-rails,rspec,background-process,stub,sidekiq,Ruby On Rails,Rspec,Background Process,Stub,Sidekiq,我的应用程序很大一部分依赖于后台作业来处理用户的网站,所以我需要编写一些测试来涵盖这些内容 第一个问题是如何测试worker类中的代码,例如app/workers/some_worker.rb class SomeWorker include Sidekiq::Worker def perform(model_id) ... end end 第二,我如何处理下面这样的存根代码,这样我就不需要实际运行worker并降低测试速度 response = HTTParty.get
app/workers/some_worker.rb
class SomeWorker
include Sidekiq::Worker
def perform(model_id)
...
end
end
第二,我如何处理下面这样的存根代码,这样我就不需要实际运行worker并降低测试速度
response = HTTParty.get("http://users-site.com", timeout: 30)
阅读。看看我为实现这一点而编写的gem(Sidekiq工作人员的测试)。Sidekiq提供了一些测试工作人员的选项 对我来说,在我将这些线添加到等级库文件的顶部之后,它就起作用了
require 'sidekiq/testing'
Sidekiq::Testing.inline!
哇,我错过了,我知道我可以使用
work=hardwerker.new;工作。执行(1,2)
以运行代码。仍然不知道如何伪造外部站点进行测试,尽管…@mind.blank可以查看一下如何存根您的API调用