Search code examples
ruby-on-railsrubyrspecsidekiq

Testing Sidekiq workers using Rspec


How do i test the following line of code invokes 'perform' in 5 mins using rspec?

CustomSidekiqWorker.perform_in(5.minutes, parameter1)

Solution

  • If you've set Sidekiq to use inline processing while runnings tests like so:

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

    Then the following should work in your specs:

    expect(CustomSideWorker).to receive(:perform_in).with(5.minutes, parameter1)