RSpec > Is there a way to run all tests with one command?
- Create a
.rspec
file in the root of your project Add the path to where your specs are e.g.
--default-path test/spec/
Add the pattern of how your files are named e.g.
--pattern ****/*.spec
- 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
- bundle exec rake spec:controllers
For model test
- bundle exec rake spec:models
For all test
- bundle exec rake spec
For specific file test do
- 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