14

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

第一个问题是如何测试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)
4

3 回答 3

11

阅读Sidekiq wiki 中的测试页面

于 2013-03-30T15:49:26.887 回答
9

看看我编写的rspec-sidekiq gem 就是为了做到这一点(测试 Sidekiq 工作人员)。

于 2013-06-03T00:39:11.993 回答
2

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

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

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

require 'sidekiq/testing'
Sidekiq::Testing.inline!
于 2020-02-26T16:28:51.367 回答