I was recently working on a small library for assigning people a schedule and I decided to go with rspec 2 for testing. As I was working with it, I found that you can use a
.rspec file to keep all of the settings in which seemed like a good idea to me. I'm used to having config files like that what with
.rvmrc, etc. My file was laid out as such:
--color --fail-fast --format documentation
I could then run the command
rspec spec/libs/* and it would run all of my tests in the desired format. I didn't want to have to specify the directory every time and so I decided to add the -I option in my .rspec file to include the directory. This, for some reason, would not work and while looking for a solution, I found the rspec 1 to 2 upgrade page with my answer.
Create a Rake Task
rake task it lists how you can set the options using a
Rakefile, which in retrospec(...har), I should have been using anyways. I ended up using something like the following:
require 'rspec/core/rake_task' RSpec::Core::RakeTask.new do |t| t.rspec_opts = ["--color", "--format documentation", "--fail-fast"] t.pattern = ['spec/libs/*.rb'] end
Now I can call my tests with rake spec.
Moral of the Story
.rspec for your rspec configurations. You'll probably end up needing a
Rakefile at some point anyways so you might as well use that.