Configure RSpec to use the Capybara.javascript_driver for all request specs

acceptance-testing, capybara, rspec, ruby

Solution

In spec_helper.rb, set the following:

  config.before(:each) do
    if example.metadata[:type] == :request
      Capybara.current_driver = :selenium # or equivalent javascript driver you are using
    else
      Capybara.use_default_driver # presumed to be :rack_test
    end
  end

Problem

Is it possible globally configure RSpec to use Capybara's (default or custom) JavaScript driver for all request specs? We sometimes forget to manually add `js: true` to every request spec and it's kind of annoying.

Original source

Related problems