There's a lot of open issues
A long-lived project that still receives updates
Code style checking for RSpec Rails files. A plugin for the RuboCop code style enforcing & linting tool.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 1.72, >= 1.72.1
 Project Readme

RuboCop RSpec Rails

Join the chat at https://gitter.im/rubocop-rspec/Lobby Gem Version CI

RSpec Rails-specific analysis for your projects, as an extension to RuboCop.

Installation

This gem implicitly depends on the rubocop-rspec gem, so you should install it first. Just install the rubocop-rspec and rubocop-rspec_rails gem

gem install rubocop-rspec rubocop-rspec_rails

or if you use bundler put this in your Gemfile

gem 'rubocop-rspec', require: false
gem 'rubocop-rspec_rails', require: false

Usage

You need to tell RuboCop to load the RSpec Rails extension. There are three ways to do this:

RuboCop configuration file

Put this into your .rubocop.yml.

plugins: rubocop-rspec_rails

Alternatively, use the following array notation when specifying multiple extensions.

plugins:
  - rubocop-rspec
  - rubocop-rspec_rails

Now you can run rubocop and it will automatically load the RuboCop RSpec Rails cops together with the standard cops.

Note

The plugin system is supported in RuboCop 1.72+. In earlier versions, use require instead of plugins.

Command line

rubocop --plugin rubocop-rspec_rails

Rake task

RuboCop::RakeTask.new do |task|
  task.plugins << 'rubocop-rspec_rails'
end

Documentation

You can read more about RuboCop RSpec Rails in its official manual.

The Cops

All cops are located under lib/rubocop/cop/rspec_rails, and contain examples/documentation.

In your .rubocop.yml, you may treat the RSpec Rails cops just like any other cop. For example:

RSpecRails/AvoidSetupHook:
  Exclude:
    - spec/my_poorly_named_spec_file.rb

Contributing

Checkout the contribution guidelines.

License

rubocop-rspec_rails is MIT licensed. See the accompanying file for the full text.