RSpec > Is there a way to run all tests with one command?

  1. Create a .rspec file in the root of your project
  2. Add the path to where your specs are e.g.

    --default-path test/spec/

  3. Add the pattern of how your files are named e.g.

    --pattern ****/*.spec

  4. Run rspec and it should pick all your specs and run them :)

default-path and pattern are simply command line arguments, which means you can also add any other command line argument that rspec takes (can run rspec --help to see the available options)

According to https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/configuration/read-command-line-configuration-options-from-files you can also put the options in ~/.rspec, which will make the options available globally. Local .rspec file options will override the global options.


For controller test

  1. bundle exec rake spec:controllers

For model test

  1. bundle exec rake spec:models

For all test

  1. bundle exec rake spec

For specific file test do

  1. rspec file_name_spec.rb (example rspec spec/controllers/groups_controller_spec.rb)

if you are using rspec-rails then you can run using rake spec

if you're testing models, use rake spec:models (or rake spec:routing or rake spec:controllers)

if just testing one model, use rake SPEC=app/models/modelname.rb


Try this in your terminal window:

bundle exec rspec spec