我在rspec中进行了以下测试
it "should add the item to the resque queue" do
post :run, id: report.id
resque_job = Resque.peek(:default_queue)
expect(resque_job).to be_present
puts "Job is #{resque_job}"
expect(ReportMapWorker).to have_queue_size_of(1)
expect(ReportMapWorker).to have_queued(report.id).in(:default_queue)
end
puts语句打印出以下内容:
Job is [{"class"=>"ReportMapWorker", "args"=>["1537"]}]
最终的期望失败了。关于我哪里出错的任何想法或建议?
由于
答案 0 :(得分:1)
错误是id作为字符串被添加到队列中,所以当期望在队列上期待[1537]时,它应该期待[“1537”]。将代码断言更新为:
expect(ReportMapWorker).to have_queued(report.id.to_s).in(:default_queue)
工作,期望过去了。