The best answers to the question “How do you run a single test/spec file in RSpec?” in the category Dev.
I want to be able to run a single spec file’s tests — for the one file I’m editing, for example.
rake spec executes all the specs. My project is not a Rails project, so
rake spec:doc doesn’t work.
Don’t know if this matters, but here is my directory structure.
./Rakefile ./lib ./lib/cushion.rb ./lib/cushion ./lib/cushion/doc.rb ./lib/cushion/db.rb ./spec ./spec/spec.opts ./spec/spec_helper.rb ./spec/db_spec.rb
The raw invocation:
rake spec SPEC=spec/controllers/sessions_controller_spec.rb \ SPEC_OPTS="-e \"should log in with cookie\""
Now figure out how to embed this into your editor.
Or you can skip rake and use the ‘rspec’ command:
In your case I think as long as your ./spec/db_spec.rb file includes the appropriate helpers, it should work fine.
If you’re using an older version of rspec it is:
You can also use the actual text of the *e*xample test case with
it "shows the plane arrival time"
you can use
rspec path/to/spec/file.rb -e 'shows the plane arrival time' ./scripts/spec path/to/spec/file.rb -e 'shows the plane arrival time'
no need for rake here.
This question is an old one, but it shows up at the top of Google when searching for how to run a single test. I don’t know if it’s a recent addition, but to run a single test out of a spec you can do the following:
rspec path/to/spec:<line number>
where -line number- is a line number that contains part of your test. For example, if you had a spec like:
1: 2: it "should be awesome" do 3: foo = 3 4: foo.should eq(3) 5: end 6:
Let’s say it’s saved in spec/models/foo_spec.rb. Then you would run:
and it would just run that one spec. In fact, that number could be anything from 2 to 5.
Hope this helps!