instance method
assert_no_performed_jobs
Ruby on Rails 8.0.4
Since v4.2.9Signature
assert_no_performed_jobs(only: nil, except: nil, queue: nil, &block)
Asserts that no jobs have been performed.
def test_jobs assert_no_performed_jobs perform_enqueued_jobs do HelloJob.perform_later('matthew') assert_performed_jobs 1 end end
If a block is passed, asserts that the block will not cause any job to be performed.
def test_jobs_again assert_no_performed_jobs do # No job should be performed from this block end end
The block form supports filtering. If the :only option is specified, then only the listed job(s) will not be performed.
def test_no_logging assert_no_performed_jobs only: LoggingJob do HelloJob.perform_later('jeremy') end end
Also if the :except option is specified, then the job(s) except specific class will not be performed.
def test_no_logging assert_no_performed_jobs except: HelloJob do HelloJob.perform_later('jeremy') end end
:only and :except options accept Class, Array of Class, or Proc. When passed a Proc, an instance of the job will be passed as argument.
If the :queue option is specified, then only the job(s) enqueued to a specific queue will not be performed.
def test_assert_no_performed_jobs_with_queue_option assert_no_performed_jobs queue: :some_queue do HelloJob.set(queue: :other_queue).perform_later("jeremy") end end
Note: This assertion is simply a shortcut for:
assert_performed_jobs 0, &block
Parameters
-
onlykey = nil -
exceptkey = nil -
queuekey = nil -
blockblock
Source
# File activejob/lib/active_job/test_helper.rb, line 348
def assert_no_performed_jobs(only: nil, except: nil, queue: nil, &block)
require_active_job_test_adapter!("assert_no_performed_jobs")
assert_performed_jobs 0, only: only, except: except, queue: queue, &block
end
Defined in activejob/lib/active_job/test_helper.rb line 348
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveJob::TestHelper