Sha256: aaaa10ca64b89b7241a479b24678c8f2ba969633e365aa9d30dd4145527ed867

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

require 'fileutils'

begin
  require 'rcov'
  require 'rcov/rcovtask'

  namespace :metricks do

    COVERAGE_DIR = File.join(Metricks::BASE_DIRECTORY, 'coverage')
    COVERAGE_DATA_FILE = File.join(COVERAGE_DIR, 'coverage.data')

    namespace :coverage do
      rcov_output = COVERAGE_DIR
      
      desc "Delete aggregate coverage data."
      task(:clean) { rm_f("rcov_tmp", :verbose => false) }

      desc "RCov task to generate report"
      Rcov::RcovTask.new(:unit => :clean) do |t|
        FileUtils.mkdir_p(COVERAGE_DIR) unless File.directory?(COVERAGE_DIR)
        t.test_files = FileList['test/**/*_test.rb']
        t.rcov_opts = ["--sort coverage", "--aggregate '#{COVERAGE_DATA_FILE}'", "--html", "--rails"]
        t.output_dir = COVERAGE_DIR + '/unit'
      end
    end
    
    desc "Generate and open coverage report"
    task :coverage => ['coverage:unit'] do
      system("open #{COVERAGE_DIR}/unit/index.html") if PLATFORM['darwin']
    end
  end
rescue LoadError
  if RUBY_PLATFORM =~ /java/
    puts 'running in jruby - rcov tasks not available'
  else
    puts 'sudo gem install rcov # if you want the rcov tasks'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
revolutionhealth-metricks-0.4.1 lib/tasks/coverage.rake