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