instance method
perform_enqueued_jobs
Ruby on Rails 5.0.7.2
Since v4.2.11.3Signature
perform_enqueued_jobs(only: nil)
Performs all enqueued jobs in the duration of the block.
def test_perform_enqueued_jobs
perform_enqueued_jobs do
MyJob.perform_later(1, 2, 3)
end
assert_performed_jobs 1
end
This method also supports filtering. If the :only option is specified, then only the listed job(s) will be performed.
def test_perform_enqueued_jobs_with_only
perform_enqueued_jobs(only: MyJob) do
MyJob.perform_later(1, 2, 3) # will be performed
HelloJob.perform_later(1, 2, 3) # will not be perfomed
end
assert_performed_jobs 1
end
Parameters
-
onlykey = nil
Source
# File activejob/lib/active_job/test_helper.rb, line 291
def perform_enqueued_jobs(only: nil)
old_perform_enqueued_jobs = queue_adapter.perform_enqueued_jobs
old_perform_enqueued_at_jobs = queue_adapter.perform_enqueued_at_jobs
old_filter = queue_adapter.filter
begin
queue_adapter.perform_enqueued_jobs = true
queue_adapter.perform_enqueued_at_jobs = true
queue_adapter.filter = only
yield
ensure
queue_adapter.perform_enqueued_jobs = old_perform_enqueued_jobs
queue_adapter.perform_enqueued_at_jobs = old_perform_enqueued_at_jobs
queue_adapter.filter = old_filter
end
end
Defined in activejob/lib/active_job/test_helper.rb line 291
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveJob::TestHelper