내 응용 프로그램의 대부분은 사용자의 웹 사이트를 처리하기위한 백그라운드 작업에 의존하므로이를 처리하기 위해 몇 가지 테스트를 작성해야합니다.Rspec으로 백그라운드 작업 (Sidekiq)을 테스트하는 방법은 무엇입니까?
첫 번째 질문은 app/workers/some_worker.rb
class SomeWorker
include Sidekiq::Worker
def perform(model_id)
...
end
end
, 어떻게 내가 그런 내가 실제로 노동자를 실행할 필요가 없습니다 다음과 같은 코드를 스텁 않는 예를 들어, Sidekiq 작업자 클래스의 코드를 테스트하는 방법입니다 내 검사 속도를 늦 췄나?
response = HTTParty.get("http://users-site.com", timeout: 30)
나는 그것을 놓쳤다. 나는 'work = HardWorker.new; work.perform (1, 2)'코드를 실행하십시오. 그래도 테스트를 위해 외부 사이트를 위장하는 방법에 대해 아직 확실하지 않습니다. –
VCR (https://www.relishapp.com/vcr/vcr/docs) –
[테스트에서 앞서 언급 한 Sidekiq wiki 페이지] (https://github.com/mperham/sidekiq/wiki/Testing)와 같은 것을 시도해보십시오. –