I use this trick every time I start a new project, which is just often enough to go look it up but not often enough to commit it to memory, so here it is in blog form:
spec_helper.rb
if ENV['COVERAGE']
require 'simplecov'
SimpleCov.start 'rails'
end
Of course if you’re writing a non-rails app omit the ‘rails’ argument. If you’re not using RSpec, put it in test/minitest_helper.rb. (And, of course, if you’re using Test::Unit, stop using Test::Unit and switch to MiniTest!)
Now when you run your specs or tests as normal with ‘rspec spec’ or ‘rake test’ your regular tests will run normally. To run them and get a coverage graph, however, just run
COVERAGE=true rspec spec
or
COVERAGE=true rake test
And there you go. If memory serves me correctly, this trick is credit due to Jake Mallory, from a project we worked on together last year.
Pingback: 159 RR Hacking Education with Saron Yitbarek