instance method
assert_performed_jobs
Ruby on Rails 4.2.9
Since v4.2.9Signature
assert_performed_jobs(number)
Asserts that the number of performed jobs matches the given number. If no block is passed, perform_enqueued_jobs must be called around the job call.
def test_jobs assert_performed_jobs 0 perform_enqueued_jobs do HelloJob.perform_later('xavier') end assert_performed_jobs 1 perform_enqueued_jobs do HelloJob.perform_later('yves') assert_performed_jobs 2 end end
If a block is passed, that block should cause the specified number of jobs to be performed.
def test_jobs_again assert_performed_jobs 1 do HelloJob.perform_later('robin') end assert_performed_jobs 2 do HelloJob.perform_later('carlos') HelloJob.perform_later('sean') end end
Parameters
-
numberreq
Source
# File activejob/lib/active_job/test_helper.rb, line 112
def assert_performed_jobs(number)
if block_given?
original_count = performed_jobs.size
perform_enqueued_jobs { yield }
new_count = performed_jobs.size
assert_equal number, new_count - original_count,
"#{number} jobs expected, but #{new_count - original_count} were performed"
else
performed_jobs_size = performed_jobs.size
assert_equal number, performed_jobs_size, "#{number} jobs expected, but #{performed_jobs_size} were performed"
end
end
Defined in activejob/lib/active_job/test_helper.rb line 112
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveJob::TestHelper