November 30, 2009 00:20
Posted by Jeremy Durham
rspec + cucumber + rcov
I had to do a bit of running around to get Rspec, Cucumber, and rcov working together nicely; here’s my current rake task:
require 'cucumber/rake/task'require 'spec/rake/spectask'namespace :rcov do
Cucumber::Rake::Task.new(:cucumber) do |t|
t.rcov = true t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/,features\/ --aggregate coverage.data} t.rcov_opts << %[-o "coverage"] endSpec::Rake::SpecTask.new(:rspec) do |t|
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
t.spec_files = FileList['spec/**/*_spec.rb']
t.rcov = true t.rcov_opts = lambda doIO.readlines("#{RAILS_ROOT}/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
end end desc "Run both specs and features to generate aggregated coverage"task :all do |t|
rm "coverage.data" if File.exist?("coverage.data")
Rake::Task['rcov:rspec'].invoke
Rake::Task["rcov:cucumber"].invoke
endendRunning rake rcov:all should give you nice coverage data that includes both rspec and cucumber.









0 Comments
Leave a comment