Skip to Content
Rails 5 Test Prescriptions
book

Rails 5 Test Prescriptions

by Noel Rappin
February 2018
Intermediate to advanced
406 pages
9h 52m
English
Pragmatic Bookshelf
Content preview from Rails 5 Test Prescriptions

Testing Jobs and Cables

Rails provides minimal support for testing ActiveJob background jobs and ActiveCable web sockets.

In RSpec a spec of type: :job or one placed in the spec/jobs directory exposes a couple of matchers. Before you run job specs, you need to specify that the jobs queue is using the test setting and not running off to Sidekiq or whatever. You do that with ActiveJob::Base.queue_adapter = :test, which you can use in a before block.

The basic matcher is have_been_enqueued, and the argument to it is the class of the job being enqueued, as in

 it ​"should enqueue a mailer job"​ ​do
  AddsTaskWorkflow.new.run
  expect(TaskAddedMailJob).to have_been_enqueued
 end

You can chain a lot of things to have_been_enqueued for more specific ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Rails 4 Test Prescriptions

Rails 4 Test Prescriptions

Noel Rappin
What Employees Want Most in Uncertain Times

What Employees Want Most in Uncertain Times

Kristine W. Powers, Jessica B.B. Diaz
Agile Web Development with Rails 5.1

Agile Web Development with Rails 5.1

Sam Ruby, David B. Copeland, Dave Thomas

Publisher Resources

ISBN: 9781680505566Errata Page