Rspecを使用してDelayed::Jobをテストしています。
私のrspec_controllerでは:
it "queues up delayed job and fires" do
setup
expect {
post :create, {:job => valid_attributes}
}.to change(Delayed::Job, :count).by(2)
Delayed::Worker.new.work_off.should == [2,0]
end
Delayed :: Job.countは期待どおりに通過しますが、Delayed :: Worker.new.work_offは[0,0]として返され、2つのジョブがある場合に成功と失敗が0であることを示します。
work_offがジョブを起動しない理由を見つけるためにデバッグするにはどうすればよいですか。
編集:実行することになっている2つのジョブでは、run_atが将来設定されています。work_offは、即時を意図していないジョブを起動しますか?