Method: ActiveJob::TestHelper#assert_no_enqueued_jobs
- Defined in:
- activejob/lib/active_job/test_helper.rb
#assert_no_enqueued_jobs(only: nil, except: nil, queue: nil, &block) ⇒ Object
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 accept 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
186 187 188 189 190 |
# File 'activejob/lib/active_job/test_helper.rb', line 186 def assert_no_enqueued_jobs(only: nil, except: nil, queue: nil, &block) require_active_job_test_adapter!("assert_no_enqueued_jobs") assert_enqueued_jobs 0, only: only, except: except, queue: queue, &block end |