RCOV - Covering unit, integration, and functional testing in one analysis.
Add the following code into a file called lib/tasks/rcov.rake
. Notice that I used the find
to gather the relevant tests then the xargs
to form them into a nice line which can be added to the rcov
command.
namespace :test do desc 'Tracks test coverage with rcov' task :coverage => :environment do rm_f "coverage" rm_f "coverage.data" rcov = "rcov --sort coverage --rails --aggregate coverage.data --text-summary -Ilib -Itest -T -x gem/*,rcov*" files = `find . -name *_test.rb | xargs` rcov = "#{rcov} " + files puts rcov system rcov system("firefox coverage/index.html") end end
The new rake command can be executed using rake test:coverage