10/05/2008: 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
09/29/2008: Advanced Rails Recipes - Chapter Two - The missing copy method.
I am reading through the Advanced Rails Recipes book. In chapter two, it refers to an Event.copy method which is not shown in the book. Shown below is the missing method from app/models/event.rb.
class Event < ActiveRecord::Base
def self.copy(other)
self.new(other.attributes.merge(:name => "Copy of #{other.name}"))
end
end
