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

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

python - pip wont install .WHL files -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -