method
assert_no_enqueued_jobs
v6.0.0 -
Show latest stable
- Class:
ActiveJob::TestHelper
assert_no_enqueued_jobs(only: nil, except: nil, queue: nil, &block)public
Asserts that no jobs have been enqueued.
def test_jobs assert_no_enqueued_jobs HelloJob.perform_later('jeremy') assert_enqueued_jobs 1 end
If a block is passed, asserts that the block will not cause any job to be enqueued.
def test_jobs_again assert_no_enqueued_jobs do # No job should be enqueued from this block end end
Asserts that no jobs of a specific kind are enqueued by passing :only option.
def test_no_logging assert_no_enqueued_jobs only: LoggingJob do HelloJob.perform_later('jeremy') end end
Asserts that no jobs except specific class are enqueued by passing :except option.
def test_no_logging assert_no_enqueued_jobs except: HelloJob do HelloJob.perform_later('jeremy') end end
:only and :except options accepts Class, Array of Class or Proc. When passed a Proc, a hash containing the job’s class and it’s argument are passed as argument.
Asserts that no jobs are enqueued to a specific queue by passing :queue option
def test_no_logging assert_no_enqueued_jobs queue: 'default' do LoggingJob.set(queue: :some_queue).perform_later end end
Note: This assertion is simply a shortcut for:
assert_enqueued_jobs 0, &block