minitest - Jobs aren't performed. Ruby on Rails -
i want write test in order check if jobs performed. looks below:
test/jobs/send_remember_email_job_test.rb
test "remember method sent" assert_performed_jobs 0 assert_enqueued_jobs 1 sendrememberemailjob.perform_later('some@mail.com', 0) end assert_performed_jobs 1 end app/jobs/send_remember_email_job.rb
class sendrememberemailjob < activejob::base queue_as :default def perform(email,time, task) usermailer.delay(run_at:time.hours.from_now).remember_mail(email,task) end end when run test, 1 failure:
1 jobs expected, 0 performed. expected: 1 actual: 0 i don't know if helps, use delayed_job. thank's in advance
the problem may happening because delayed_jobs run jobs in background process default test not wait finish test fail. try disable delayedjobs jobs run in real time.
you can with:
delayed::worker.delay_jobs = false
Comments
Post a Comment