Phần lớn ứng dụng của tôi dựa trên các công việc nền để xử lý các trang web của người dùng, vì vậy tôi cần phải viết một số thử nghiệm để trang trải các trang này.Làm thế nào để kiểm tra công việc nền (Sidekiq) với Rspec?
Câu hỏi đầu tiên là làm thế nào để kiểm tra mã đó là trong một lớp học Sidekiq lao động, ví dụ app/workers/some_worker.rb
class SomeWorker
include Sidekiq::Worker
def perform(model_id)
...
end
end
Thứ hai, làm thế nào để tôi còn sơ khai mã như sau vì vậy tôi không cần phải thực sự chạy công nhân và làm chậm các bài kiểm tra của tôi?
response = HTTParty.get("http://users-site.com", timeout: 30)
Woops Tôi bỏ lỡ điều đó, tôi thấy tôi có thể sử dụng 'work = HardWorker.new; work.perform (1, 2) 'để chạy mã. Vẫn không chắc chắn làm thế nào để đi về giả mạo các trang web bên ngoài cho các bài kiểm tra mặc dù. –
Hãy thử một cái gì đó như VCR (https://www.relishapp.com/vcr/vcr/docs) –
[Trang wiki Sidekiq được đề cập trên thử nghiệm] (https://github.com/mperham/sidekiq/wiki/Testing). –